Gegevens binnehalen via SOAP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Developer / Integratie / BizTalk / Qlikview

Functieomschrijving Heb jij als developer ervaring met integratieontwikkeling of zou jij je hier verder in willen verdiepen? Werk jij graag in een vooruitstrevende organisatie met een complexe omgeving? Reageer dan op deze vacature! Ontwikkeling binnen en beheer van BizTalk en Qlikview. Ontwikkelen van nieuwe datakoppelingen. Omzetting van Functioneel Ontwerp naar een Technisch Ontwerp. Ontwikkelen en beheren van SQL interfaces en webservices. Aanreiken en uitvoeren van verbetervoorstellen en proactief beheer. Waar nodig contacten onderhouden met externe leveranciers en interne klanten. Functie-eisen Je hebt HBO werk- en denkniveau. Je hebt ervaring met development (bij voorkeur .NET / BizTalk). Je hebt affiniteit met

Bekijk vacature »

Mobile Developer van hoog niveau gezocht

Functieomschrijving Bij deze organisatie zoeken ze Developers van het hoogste niveau gezien je hier bij de grootste bedrijven van Nederland aan de slag gaat. In jouw rol als Mobile Developer ga je bedrijven helpen om de mobile systemen optimaal te laten werken zodat zij efficiënter te werk kunnen. Binnen de organisaties waar jij aan de slag gaat ben jij de expert waar zij op kunnen rekenen en die de werknemers van deze organisatie op sleeptouw neemt. Binnen deze organisaties krijg je te maken met nieuwe technieken, zo kun je onder andere aan de slag met Augmented Reality. Functie-eisen Om voor

Bekijk vacature »

.Net/C# Developers for Product Development

About SITA Welcome to SITA... We lead one of the most exciting and advanced industries on earth. Around the world, nearly every passenger flight relies on SITA technology, almost every airport and airline does business with us, and it’s our job to support their operations. As the world's leading air transport IT and communications specialist, we’re committed to meeting the demands of the air transport industry around the clock, every day. Our Vision is: ‘Easy air travel every step of the way’ Why should you be interested? We offer challenge: our people take on some of the biggest challenges in

Bekijk vacature »

Junior developer gezocht voor unieke organisatie!

Functieomschrijving Je komt te werken onder de vleugels van 2 heel ervaren ontwikkelaars. Ze maken koppelingen met systemen van hele grote bedrijven die normaal onderling geen communicatie kunnen verwerken. Ze bouwen hun applicatie's in een omgeving die ook in het buitenland heel veel in gebruik is en waar je met verschillende talen zoals PHP, Java etc in kunt ontwikkelen. Dit is nuttig omdat de eindklanten hun applicaties vaak ook in verschillende talen hebben gemaakt. Hier krijg je straks te maken met verschillende ontwikkeltalen en je kunt straks gaan werken met je eigen voorkeurstaal. Er is veel afwisseling in het werk

Bekijk vacature »

.NET C# ontwikkelaar gezocht (C# Winforms, Xamarin

.NET C# ontwikkelaar bij een slagvaardig en hard groeiend bedrijf met korte lijnen? In een omgeving waar je onder andere direct samen met de oprichter werkt aan het verder ontwikkelen van een vernieuwend product? Dan is deze vacature zeker iets voor jou. Voor een bedrijf in Rotterdam zijn we momenteel op zoek naar een .NET C# ontwikkelaar. Het gaat om klein bedrijf dat op een punt is aanbeland waar de vraag naar hun software flink aan het toenemen is. Hierdoor zijn ze op zoek naar meerdere .NET ontwikkelaars die samen met de oprichter en nog verschillende andere collega’s hun product

Bekijk vacature »

Fullstack .NET Webdeveloper gezocht (C#, .NET Core

Functieomschrijving Als Fullstack Webdeveloper zal de focus van jouw werkzaamheden liggen op het bouwen van applicaties met behulp van .NET en Angular. Hierbij zijn de technieken die jij voornamelijk gaat gebruiken C#, ASP.NET, .NET Core en Angular. Als je nog geen ervaring hebt met deze laatste is dat geen probleem; je krijgt hier de ruimte om het te leren. Het is wel belangrijk dat je minimaal vijf jaar C# ervaring hebt en ruime ervaring met ASP.NET en .NET Core. Samenwerken staat binnen deze functie hoog in het vaandel. Je komt te werken aan applicaties die bijvoorbeeld door banken gebruikt worden,

Bekijk vacature »

Java Software Integration Developer ESB IBM IB Web

Java Software Integratie Specialist gezocht! Functieomschrijving Wij zijn op zoek naar een software engineer die binnen een softwarelandschap "the bigger picture" ziet en/of iemand die snel door heeft hoe je applicaties aan elkaar koppelt. Heb je ervaring met Java, C#.NET of C++ en wat kennis van Microservices en API's? Solliciteer dan gelijk! De totale afdeling is 22 collega’s groot en verdeeld in 3 teams. Je komt terecht in een Software development team (DevOps team 10 collega’s groot) die verantwoordelijk is voor het koppelen en/of integreren van verschillende grote en kleine systemen aan elkaar. Het zijn voornamelijk op Java (Microservices, APIs)

Bekijk vacature »

Functioneel Beheerder Exact

Onze opdrachtgever is het Instituut Fysieke Veiligheid (IFV). Het IFV draagt bij aan een veilige samenleving door het versterken van de veiligheidsregio’s en hun partners bij het professionaliseren van hun taken. Zij ontwikkelen en delen relevante kennis, hebben expertise voor het verwerven en beheren van gemeenschappelijk materieel en adviseren de betrokken besturen. Voor de afdeling Informatisering &Automatisering zijn wij namens het IFV verantwoordelijk voor de werving en selectie voor de vacature Functioneel Beheerder Exact. De standplaats is Arnhem. Functie omschrijving Functioneel Beheerder Exact Je komt als functioneel beheerder Exact te werken bij de afdeling I&A van het IFV. De afdeling

Bekijk vacature »

QAD Techno Functional Consultant

The Medline IT team is working every day to provide innovative solutions to our internal and external customers with the goal that these solutions will differentiate us from the competition. Medline International is looking to hire a full-time experienced QAD Techno-Functional Consultant for its European headquarters, located in Arnhem, the Netherlands. The role will be part of Medline’s information services department, and will report directly to the QAD Application Owner. QAD Functional Consultant ACTIVITIES: Work on QAD projects with team members based in both our European headquarters in Arnhem and in Pune, India. Support the European business through implementing and

Bekijk vacature »

Business Intelligence Developer vacature

Jij ben niet bang om hard te werken. Uitdagingen zijn welkom. En problemen? Die zijn er om opgelost te worden of, nog beter, om voorkomen te worden! Voor jij aan de slag gaat met het ontwerpen van BI- en DWH-oplossingen, leg je eerst je oor te luister bij de klant. Zo weet jij wat de klant wil, en hoe jouw ontwerp eruit moet komen te zien. Simpel! Althans… met jouw Developer-kwaliteiten wel! Over deze BI vacature Als Business Intelligence Developer ga je zowel op locatie bij de klant aan de slag, als op een van de Sogeti-locaties. Je analyseert de

Bekijk vacature »

Java Developer / Java EE frameworks / Inhouse (Clo

Functieomschrijving Ben jij een Java Developer met een zeer uitgebreide kennis van REST API's en wil jij graag werken aan uitdagende Inhouse projecten voor grote en bekende partijen in Nederland? Dan is dit de rol waarnaar jij op zoek bent! Binnen deze rol zal jij je als Java Developer aan de slag gaan voor een van de meest bekende bureaus op het gebied online platformen, een rol met veel afwisseling en voldoende technische uitdaging! Werken aan diverse en uiteenlopende projecten, waarbij je meer dan eens pionierswerk zal moeten verrichten; De mogelijkheden tot het toepassen van nieuwe technieken bespreken, beoordelen en

Bekijk vacature »

Senior iOS Developer vacature

Je bent innovatief. Je bent creatief. Jij gaat voor een topbaan. Mobile apps ontwerpen, uitwerken en realiseren, dat is jouw passie! Met grote toewijding richt jij je dan ook op een app waarmee consumenten met een gezichtsscan betalen. Of je stort je je op een app die de temperatuur in huis op afstand kan regelen. Het spreekt voor zich dat jouw apps top of the bill zijn als het gaat om gebruiksvriendelijkheid en veiligheid. Ze hebben impact. Je voelt je als een vis in het water in een iOS-omgeving maar, veelzijdig als je bent, kun je ook met andere platforms

Bekijk vacature »

Siebel Developer

Ben jij beschikbaar voor een nieuwe Freelance uitdaging? Een van onze klanten is op zoek naar een ervaren: Interim Siebel ontwikkelaar Projectinformatie Over een aantal jaar wil de klant overgaan op een andere CRM applicatie. Op dit moment zijn ze hard op zoek naar 4 Senior Siebel developers die hun applicatie verder ontwikkeld. Details van deze Siebel opdracht: Startdatum: 2 januari Projectduur: 24 maanden Uren per week: 32/36/40 Locatie: Den Haag Benodigde vaardigheden voor deze Siebel Development uitdaging Minstens 4 jaar ervaring met Siebel ontwikkeling Goede kennis van en hands-on ervaring met Siebel tools Configuratie en scripting Goede Nederlandse communicatieve

Bekijk vacature »

ABAP Developer

Functieomschrijving Heb jij de nodige ervaring met ABAP en ben jij toe aan een nieuwe uitdaging? Werk je graag in een internationaal bedrijf met een informele sfeer en flexibiliteit? Dan is deze vacature iets voor jou! Je richt je op SAP development werkzaamheden die voort komen uit optimalisatie-, migratie-, integratie- en innovatie trajecten; Je werkt met o.a. ABAP Eclipse, OOP, Webservices en HANA; Je hebt nauw contact met de functionele SAP specialisten om de wensen helder te krijgen waarna je dit vertaalt naar de technische oplossing; Je werkt in een Agile / Scrum werkomgeving; Je adviseert de organisatie op jouw

Bekijk vacature »

.NET C# web developer gezocht, inhouse project dev

Ben je een ervaren .NET C# web developer en op zoek naar een leuke baan in het zuiden van Zuid-Holland? Een inhouse functie maar met de afwisseling van verschillende projecten en klanten? Projecten die uitdagend zijn door de complexiteit van de systemen? Lees dan verder! Voor een bedrijf in Goeree-Overflakkee zijn we momenteel op zoek naar een ervaren .NET C# web developer. Het bedrijf bestaat uit iets meer dan 20 werknemers en verschillende ervaren software developers. De software projecten zijn uiteenlopend, maar altijd maatwerk oplossingen en veelal complex en bedrijfskritisch van karakter. De bedrijven waarvoor je software ontwikkeld kunnen variëren

Bekijk vacature »
Edwin slothouber

edwin slothouber

20/11/2019 11:54:38
Quote Anchor link
Hallo iedereen,

Ik ben nieuw in SOAP en probeer een volgens mij redelijk simpele actie voor elkaar te krijgen.
Ik heb SOAPUI geinstalleerd en wanneer ik daar de aanroep doe, krijg ik netjes terug wat ik verwacht.

Maar wanneer dat ik probeer te programmeren krijg ik alleen maar foutmeldingen...

Dit is wat ik zie in SOAPUI als request:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:Afas.Profit.Services">
   <soapenv:Header/>
   <soapenv:Body>
      <urn:GetData>
         <urn:token>
         <![CDATA[
        <token><version>1</version><data>hier_dus_een_token</data></token>
        ]]>
         </urn:token>
         <urn:connectorId>HIER_EEN_GET</urn:connectorId>
         <urn:filtersXml></urn:filtersXml>
         <urn:skip>0</urn:skip>
         <urn:take>20</urn:take>
      </urn:GetData>
   </soapenv:Body>
</soapenv:Envelope>

en daar komt dus netjes XML op terug.


Hoe dit in PHP op te lossen? Wat ik nu heb is dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$URL
= "https://een-wsdl-url";
$WebserviceClient = new SoapClient($URL);
$parameters= array(
    "token"=> 'hier_dus_een_token',
    'connectorId' => 'HIER_EEN_GET',
    'filtersXml' => '',
    'skip' => 0,
    'take' => 20,
);

$WebmethodResult = $WebserviceClient->GetData($parameters) or die('FOUT!');
var_dump($WebmethodResult);
?>

De foutmelding is deze:
Quote:
Fatal error: Uncaught SoapFault exception: [soap:Server]
Er is een onverwachte fout opgetreden. in /xxx.nl/afas-soap-request-2.php:19
Stack trace: #0 /xxx.nl/afas-soap-request-2.php(19):
SoapClient->__call('GetData', Array) #1 {main} thrown in /xxx.nl/afas-soap-request-2.php on line 19



Ik hoop dat iemand me kan helpen met mijn eerste soap-stapjes?
Edit:
Ik heb code-tags, en quotes geplaatst. Gelieve dit in het vervolg zelf toe te voegen aan je bericht.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Gewijzigd op 25/11/2019 15:44:33 door - Ariën -
 
PHP hulp

PHP hulp

07/12/2019 15:34:40
 
Verwijderd 31683

Verwijderd 31683

20/11/2019 16:06:21
Quote Anchor link
Blijkbaar werkt die functionaliteit met Exceptions. Een niet gevangen Exception resulteert altijd in een Fatal Error. Waarschijnlijk wordt uit de Exceptionboodschap en/of -trace snel duidelijk wat er misgaat.

Het algemene stramien om te werken met Exceptions, en het opvangen van fouten is als volgt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
try {
    // hier je code
} catch (Exception $e) {
    // debugging
    echo get_class($e).': '.$e->getMessage().'<br>';
    echo nl2br($e->getTraceAsString());
}

?>

Het tweede deel is uiteraard alleen voor debugging en ontwikkeling. Het zou niet netjes staan als deze informatie op een live omgeving op het scherm wordt gedumpt.

En dan nog een security aspect: omdat je de informatie meestal in een HTML-context dumpt is het zaak dat er geen HTML wordt weergegeven of JavaScript wordt uitgevoerd, dus je doet er mogelijk verstandig aan om deze informatie te ontdoen van een mogelijk speciale betekenis binnen deze context, oftewel, je zou deze moeten escapen.

Hiertoe kun je een hulpfunctie introduceren:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
function escape($in) {
    return htmlspecialchars($in, ENT_QUOTES, 'UTF-8');
}

?>


Het catch-blok wordt vervolgens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
} catch (Exception $e) {
    // debugging
    echo escape(get_class($e)).': '.escape($e->getMessage()).'<br>';
    echo nl2br(escape($e->getTraceAsString()));
}

?>

In het algemeen is het een goede gewoonte om alle "output" te escapen, tenzij je hier een speciale -en gedocumenteerde- reden hebt om dit niet te doen.

NB: zoveel staat ook (nagenoeg letterlijk) in de oorspronkelijke foutmelding: Fatal error: Uncaught SoapFault exception. Het leren "lezen" van dit soort foutmeldingen kan je heel erg ver op weg helpen. Als je in staat bent om te debuggen zal het (leren) programmeren je ook stukken beter afgaan, want het dwingt je om op een analytische manier naar je code te kijken en dingen uit te zoeken. Dit vergroot op zijn beurt jouw inzicht in wat er gebeurt waardoor het begrip toeneemt.

Dus in zekere zin is hier het "probleem" (weer) niet het probleem, maar meer het interpreteren van de foutmelding en het formuleren van een aanpak voor het analyseren van wat er precies misgaat.
Gewijzigd op 20/11/2019 16:13:53 door Verwijderd 31683
 
Edwin slothouber

edwin slothouber

21/11/2019 11:07:40
Quote Anchor link
Dank je voor je reactie, Thomas.

Wanneer ik de try/catch er bij zet krijg ik dit terug:

Quote:
SoapFault: Er is een onverwachte fout opgetreden.
#0 E:\xxx\soap-request-2.php(20): SoapClient->__call('GetData', Array)
#1 {main}


Dus daar worden we helaas niet wijzer van...
Gewijzigd op 25/11/2019 15:45:21 door - Ariën -
 
Ivo P

Ivo P

21/11/2019 14:58:35
Quote Anchor link
Krijg je meer info als je
$WebserviceClient = new SoapClient($URL);

vervangt door

$WebserviceClient = new SoapClient($URL, ['trace' => 1]);

en dan eventueel via de info op https://stackoverflow.com/questions/14030228/how-to-dump-soapclient-request-for-debug/50847927 de aanroepen en parameters checkt?

Toevoeging op 21/11/2019 14:58:56:
Gewijzigd op 21/11/2019 14:59:24 door Ivo P
 
Edwin slothouber

edwin slothouber

25/11/2019 13:47:35
Quote Anchor link
Bedankt iedereen,

Ik ben er achter waarcom het niet werkte: de token was niet in de juiste form (er moest blijkbaar iets xml-erigs in staan).

Dus het werkt met deze code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$myParams
= array(
    'token'       => new \SoapVar( '<ns1:token><![CDATA[<token><version>1</version><data>123321123</data ></token >]]></ns1:token>', XSD_ANYXML ),
    'connectorId' => 'HIER_EEN_GET',
    'filtersXml'  => '',
    'skip'        => 0,
    'take'        => 20,
);

$webService = new \SoapClient( $URL,
    array(
        'cache_wsdl' => WSDL_CACHE_NONE,
        'trace'      => true,
    )
);

$result     = $webService->GetData( $myParams );
$resultXml  = $result->GetDataResult;                
?>


Edit:
Ik heb code-tags geplaatst. Gelieve dit in het vervolg zelf toe te voegen aan je bericht.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Gewijzigd op 25/11/2019 15:45:04 door - Ariën -
 
Verwijderd 31683

Verwijderd 31683

25/11/2019 16:48:23
Quote Anchor link
Vergeet je try-catch blok niet.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.