Gegevens binnehalen via SOAP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front-end Developer (HTML/CSS, Angular/React/Vue,

Functie Je zal aan de slag gaan in een klein, hecht team met front-end development experts die de ambitie delen mooi werk te leveren. Samen met hen zal je werken aan het gebruiksvriendelijk en interactief maken van complexe webapplicaties, websites en mobile apps. Je levert klanten wat ze nodig hebben terwijl je actief aan jezelf blijft werken met de ondersteuning vanuit je werkplek. Talen als Javascript programmeer jij vloeiend en je hebt kennis van frameworks als React en Angular. Je zou je het liefst nog veel meer ontwikkelen in verschillende front-end talen. Deze kennis deel je graag met je collega’s,

Bekijk vacature »

C# developer

Functie Als C# ontwikkelaar ben jij de spin in het web bij deze organisatie. Jij begeleidt en traint de field engineers die bij de klanten machines leveren en installeren. Daarnaast ondersteun jij de field engineers als zij bij de klant vastlopen bij het installeren van de machine m.b.t. software matige vragen. Jouw doel is dan ook om de technische kennis van de field engineers door middel van training zoveel mogelijk uit te breiden. Dit om ervoor te zorgen dat zij zelfstandiger software matige problemen kunnen oplossen. Ook ben jij verantwoordelijk voor het bedenken van software oplossingen voor klanten en dit

Bekijk vacature »

Senior Developer Betty Blocks Blauwe Haven Rotterd

Functieomschrijving Voor de Politie zijn wij opzoek naar een Senior Developer Betty Blocks Blauwe Haven Rotterdam. De politieorganisatie heeft jaarlijks te maken met een aanzienlijk aantal politiemedewerkers die vanwege mentale overbelasting niet of beperkt inzetbaar zijn. De Blauwe Haven Rotterdam ondersteunt deze politiemedewerkers in hun herstel en re-integratieproces. De huidige digitale systemen van de Politie bieden onvoldoende ondersteuning in het herstel- en re-integratieproces van politiemedewerkers. Zowel voor de politiemedewerkers als voor de organisatie. Politiemedewerkers worden buitengesloten, waardoor zij eigen regie verliezen. Begeleiders kunnen de voortgang van de medewerkers niet goed monitoren. Management beschikt niet over de mogelijkheid trends te signaleren

Bekijk vacature »

Full stack developer Node.js

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Senior PHP developer met ambities tot Software Arc

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

Senior java ontwikkelaar integratie

Functieomschrijving Voor de gemeente Rotterdam zijn wij op zoek naar een senior java ontwikkelaar integratie. Taken Binnen een zelfsturend Scrumteam voer je geheel zelfstanding je opdrachten uit en levert het eindresultaat op aan het Integratieteam. Jij voelt je net als alle teamleden verantwoordelijk voor alle aspecten, vanaf de vraag tot en met de oplevering in productie. Je bent kritisch, je helpt de klant om zijn wensen helder te krijgen, je schrijft zelfstandig clean code die van hoge kwaliteit is, met bijbehorende unit- en integratietesten, je ondersteunt zo nodig bij deployments naar productie. Het Integratieteam bouwt componenten (Endpoints) op de ESB.

Bekijk vacature »

Programmeur / Developer

Voor een familiebedrijf in Doetinchem, actief in de machinebouw voor de food-sector, zijn wij op zoek naar een programmeur / developer. In deze functie ben je werkzaam in een team van 5 medewerkers. Je werkzaamheden bestaan onder andere uit het verhelderen van requirements vanuit de opdrachtgever, de klant en de afdeling ontwikkeling. Je verricht haalbaarheidsstudies en werkt specificaties uit die je afstemt met de opdrachtgever. Je ontwerpt design in software en stemt af met je collega's. De huidige vision-systemen zijn geschreven in C software, welke draait op een CUDA platform. Je schrijft en codeert software en zal gaan testdraaien. Tot

Bekijk vacature »

Robot Programmeur

Een verantwoordelijke baan met leuke uitdagingen. Heb jij ervaring met het programmeren van robots? Kan jij goed samenwerken met collega's die verschillende specialisaties hebben? Ben je oplossingsgericht, analytisch en flexibel? Ga dan aan de slag als Robot Programmeur bij Gibas in Nijkerk! Als Robot Programmeur kom je te werken bij Gibas. Dat betekent dat je gegarandeerd meewerkt aan unieke oplossingen in productieprocessen. Bij elk project moet er opnieuw geëngineerd en geprogrammeerd worden. Dat maakt jouw werk uitdagend! Voordat je robots gaat programmeren komt er het volgende bij kijken: De opdracht gaat van de afdeling Sales naar de afdeling Operations door

Bekijk vacature »

Laravel / PHP developer

Functie omschrijving Wij zijn op zoek naar een Medior PHP / Laravel Developer voor een IT-consultancy in de omgeving van Hoofddorp! Ben jij op zoek naar een leuke nieuwe uitdaging binnen een veelzijdige werkomgeving? Lees dan snel verder! Binnen dit bedrijf werk je in een ontwikkelteam, waarin je zeer betrokken bent en meedenkt over softwareoplossingen. Binnen dit Team hou je je bezig met het aanpassen, verbeteren en vernieuwen van de logistieke oplossingen. Je zult je bezig houden met de volgende werkzaamheden: Je gaat aan de hand van de wensen van klanten software ontwikkelen; Je bent bij het gehele proces betrokken;

Bekijk vacature »

Java developer (remote)

Functie Wat ga je doen als Java Developer? Jij als Java ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 ontwikkelaars binnen onze organisatie waarbij jij de brug slaat tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je jouw taken op voor de dag. Hieronder een aantal taken die jij zal uitvoeren: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden

Bekijk vacature »

Medior PHP Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte website die in eigen beheer zijn. In onze vestiging in Nederweert zitten onze development afdelingen en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé PHP/Back-end developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het bedenken van nieuwe functionaliteiten Het verbeteren van het

Bekijk vacature »

Low-Code Expert/Developer: Power Platform Speciali

Bedrijfsomschrijving Als Low-Code Expert/Developer bij ons innovatieve bedrijf, neem je een cruciale rol op je in de creatie, ondersteuning en implementatie van diverse oplossingen met behulp van het veelzijdige Power Platform. Dit platform omvat Power Apps, Power BI, Power Automate, Power Virtual Agent en Azure Logic Apps. Het Power Platform biedt je de mogelijkheid om klanten te voorzien van naadloze integraties door op maat gemaakte oplossingen te creëren die compatibel zijn met (bijna) alle bestaande software-infrastructuren. Dankzij het uitgebreide scala aan toepassingen, krijg je de kans om als architect en projectleider van je eigen oplossing te fungeren. Dompel jezelf onder

Bekijk vacature »

Senior Front-end developer (React)

Functie Met een ontwikkelafdeling van ruim 20 collega’s is dit zo ongeveer de helft van alle medewerkers. De software(ontwikkeling) is dan ook de drijvende kracht binnen de organisatie. Ze werken aan het verbeteren dan de bestaande, maar zeker ook nieuwe producten. De software bestaat uit verschillende (React) webapplicaties, maar ook een mobile (React native) app. Hierdoor kom je met verschillende uitdagingen in aanraking en is Mobile kennis natuurlijk mooi meegenomen. De software wordt door vele duizenden professionals dagelijks gebruikt en bevatten grote hoeveelheden data. Aan het team de uitdaging om hierin de best mogelijke gebruiksvriendelijkheid neer te zetten door gebruik

Bekijk vacature »

Software Developer

Longship.io gaat de wereld veroveren met baanbrekende software en legendarische... pizza-avonden! Lees hier de vacature van IT Operations Manager! Bij Longship werken we met een team van 5 mensen aan software voor laadpaal operators. Longship is ontstaan in 2020 met als doel om de elektrische mobiliteitstransitie aan te jagen. We zijn nu al een wereldwijde speler doordat we continu voorop lopen in innovatie. Ons platform helpt het versneld elektrificeren van wagenparken, internationaal! Wij zijn een startup met grote ambities die we willen bereiken met een relatief klein en efficiënt team. Je krijg de kans om ontzettend veel te leren van

Bekijk vacature »

Full stack developer Python, React

Functie Jij als full stack developer komt binnen onze Technology afdeling te werken. Deze bestaat momenteel uit 15 man. De stack waarmee wij werken is voornamelijk Python, Javascript, React en GraphQL. Binnen deze afdeling wordt er met multidisciplinaire teams gewerkt aan verschillende projecten. Projecten duren vaak langer dan 3 maanden en je bent van begin tot eind vaak betrokken. Naast dat je als full stack ontwikkelaar aan de slag gaat ben je ook Consultant. Dit betekent dat je ook klantcontact hebt in je rol en werkshops geeft. De verhouding tussen deze werkzaamheden zijn ongeveer 70% development en 30% consultancy. Een

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

25/04/2024 18:03:28
 
Thomas van den Heuvel

Thomas van den Heuvel

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 Thomas van den Heuvel
 
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 -
 
Thomas van den Heuvel

Thomas van den Heuvel

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.