Gegevens binnehalen via SOAP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Developer / Techneut / Oracle APEX / Ondernemend

Functieomschrijving Ben jij een echte Techneut die het leuk vindt om in verschillende talen te ontwikkelen waarbij je als Ontwikkelaar te maken krijgt met 500 TB aan storage? Lees dan snel verder! Verbeteren van bestaande product; Ontwikkelen nieuwe modules; Achterhalen requirements bij de klanten; Installatie op locatie; Verwerken van maatwerk verzoeken. Functie-eisen Hbo-werk- en denkniveau; Minimaal 3 jaar relevante werkervaring; Kennis en ervaring van Oracle, het liefst Apex; Je bent bekend met Elasticsearch; Je bent ondernemend en communicatief vaardig. Bedrijfsomschrijving Binnen deze organisatie zal je terecht komen in een team van 7 techneuten. Wat al deze techneuten kenmerkt, is dat

Bekijk vacature »

Java developer junior

Functie­omschrijving "Je leert zo veel als developer. En de kennis die je opdoet, gebruik je meteen in projecten mét maatschappelijke relevantie. Dat is gaaf!" Mardon Peterson - Ontwikkelaar bij de Belastingdienst. Onze 300 Java-developers realiseren applicaties die direct van grote invloed zijn op de Nederlandse samenleving. De online aangifteapplicatie is er een waarmee we miljoenen mensen bereiken en waarmee we zelfs de Computable Award in de wacht hebben gesleept. Onze Java-ontwikkelaars werken ook voor de Douane of de FIOD van de Belastingdienst. Dat gebeurt in zon zeventig groot- en kleinschalige projecten in bijna honderd multidisciplinaire scrum-teams. We werken in een

Bekijk vacature »

Front-end ontwikkelaar gezocht!

Functieomschrijving Binnen deze functie ga je met ervaren developers elke dag werken aan technisch uitdagende projecten. Jij werkt hier voornamelijk met HTML en (S)CSS, TypeScript en Angular en Boostrap. Als Front-end developer bouw je hier Singe Page Applications, weet je hoe je API's met elkaar kan laten praten en heb je affiniteit met design. Met jouw skills en drive wil jij graag het beste uit jezelf halen net zoals zij dat willen. Als je kennis hebt van van Node.JS hebt dan is dit zeer zeker een grote pré. Op dit moment zijn ze met hele toffe projecten bezig. Functie-eisen -

Bekijk vacature »

UI & Front End Developer

Position: UI & Front End Developer Location: Hoofddrop, Netherlands Type: Fixed Term Employment (12 Months Contract) Notice: Immediate Looking for the UI & Front End Developer, who is responsible for to provide the user interface solution to the end user, including the final look, feel and behavior of the interface in different contexts Technical Skills: Delivering a complete UI & Front-End application 6 to 8 years hands on experience in Angular with latest version(Ver 4+) Ensuring high performance on mobile and desktop Writing tested, idiomatic, and documented JavaScript, HTML and CSS Coordinating the workflow between the graphic designer, the HTML

Bekijk vacature »

Lead Software Developer Datawarehouse

Bouw jij graag mee aan de nieuwe generatie van het datawarehouse-framework voor de zorg? En kent programmeren in C# geen geheimen voor jou? Dan pas jij perfect in ons team in Amsterdam. We bieden jou de kans om complexe uitdagingen op te lossen en te werken met de nieuwste technieken. Jouw baan Zorgprofessionals nemen belangrijke beslissingen op basis van data uit ons datawarehouse. Om dit mogelijk te maken ontwikkelt onze afdeling een set aan softwareapplicaties die optimaal aansluiten bij ons zorginformatiesysteem (ZIS). Als team lead software binnen de afdeling datawarehouse heb je de dagelijkse leiding over een team van 6

Bekijk vacature »

Senior .Net Developer Duurzaamheid Maatwerkapplica

Functieomschrijving Ben je een ervaren .NET Developer en ben je op zoek naar een uitdagende rol met veel vrijheid? Wil jij aan de slag bij een bedrijf die duurzaamheid hoog in het vaandel heeft staan? Lees dan snel verder! Van scratch af aan applicaties bouwen; Testen van jouw code door middel van het uitvoeren van unittesten; Bug fixing; Contact onderhouden met klanten met klanten betreffende de door jouw ontwikkelde applicaties; Verbeteren en door ontwikkelen van maatwerkapplicaties. Functie-eisen Een afgeronde hbo/wo opleiding; Minimaal vijf jaar ervaring als fullstack .NET Developer; Uitgebreide technische kennis met oog voor praktische oplossingen; Ruime kennis van

Bekijk vacature »

Developer / Dynamics / AX

Functieomschrijving Heb jij ruime ervaring met development binnen Microsoft Dynamics en werk je graag in teamverband aan het neerzetten van een mooie IT oplossing? Voel jij je thuis in een informele cultuur waar ruimte is voor eigen inbreng? Dan zijn wij op zoek naar jou! Als developer richt je je op het uitbreiden van de standaard AX omgeving om wijzigingen en toevoegingen binnen de bedrijfsprocessen te realiseren. Dit is gericht op zowel de interne als externe klant; Je werkt mee in diverse projecten waaronder het onderbrengen van bepaalde processen binnen de AX omgeving en het uitbreiden van bestaande processen; Je

Bekijk vacature »

C# Developer

De uitgebreide versie Jij hebt ruim twee jaar ervaring als developer. Nu wil je graag je tanden zetten in nog complexere projecten. Samen met je team bereik je nieuwe hoogtes en zelfstandig maak je meters. Je hebt behoefte aan collegae die jou alles leren op het gebied van technologie maar wilt tegelijkertijd ook graag je eigen opgedane kennis delen. Alles wat vandaag nog onbekend is, moet je morgen toepassen in de volgende uitdaging en dàt is wat jou scherp houdt. Je hebt geen zin in een 60-urige werkweek maar haalt wel plezier uit zo nu en dan een technische meeting,

Bekijk vacature »

JavaScript developer met geweldige arbeidsvoorwaar

Functieomschrijving Als JavaScript developer werk je samen met je team op diverse vlakken. Het team bestaat uit 8 personen en is een multidisciplinair Scrum/Agile DevOps team. Jij werkt op de Front- en Backend en in de cloud. Je werkt hier aan interne applicaties (portalen) die vanuit vraagstukken van de business moeten worden omgezet naar werkende applicaties. Je zult dus samen met het team requirements omzetten naar goede oplossingen waarbij er vanuit het team een grote mate van verantwoordelijkheid wordt gevraagd. Daarin krijg je als team veel vrijheid om je creativiteit erop los te laten en zul je dit samen met

Bekijk vacature »

.NET Developer Financieel

Werk jij als software developer het liefst met uitdagende systemen? Dan kun jij je bij onze vestiging in Amsterdam volledig uitleven als .NET Developer Financieel. Wanneer begin je? Jouw baan Je ontwerpt, ontwikkelt, ondersteunt en onderhoudt je eigen financiële module binnen HiX, onze ICT-totaaloplossing voor de zorg. Je schrijft objectgeoriënteerde code, speurt naar verbeteringen, werkt aan vernieuwende projecten, doet code reviews en voert testen uit. Een uiterst verantwoordelijke job, want dankzij jouw software kunnen zorginstellingen hun zorg factureren, voldoen aan afspraken met zorgverzekeraars, verplichte landelijke aanleveringen van financiële data doen en nog veel meer. Je brainstormt regelmatig met collega’s hoe

Bekijk vacature »

Young Professional Program Software Engineer

Are you passionate about software development? Do you enjoy creating software and building cool applications? Then this Young Professional Software Program is what you are looking for! This program will give you the chance to become part of Itility’s software development team. The program Projects Itility deals with: Software development using microservices and/or serverless architecture Internet of Things projects; like a real-time analytics platform for a motor that is travelling around the world in 80 days Building Continuous Integration (CI) and Continuous Delivery (CD) pipelines Software development on cloud platforms such as Azure, Amazon, or Google Working on our own

Bekijk vacature »

Medior PHP-ers gezocht voor leuke interne rol!

Functieomschrijving Jij zal binnen je functie verantwoordelijk zijn voor de technische ontwikkeling van nieuwe functionaliteiten. Hierin krijg je binnen het team waarin je werkt veel vrijheden. Je gaat gebruik maken van verschillende moderne technieken waarbij je zeker de ruimte krijgt om te experimenteren met nieuwe frameworks. Ook zal je verantwoordelijk zijn voor het adviseren van de consultants die naar de klanten gaan om het eindproduct te implementeren. Functie-eisen - HBO werk/denk niveau - 2 of meer jaar ervaring met PHP - Communicatief vaardig - Gedreven in je vak - Ervaring met een framework is een grote pré Bedrijfsomschrijving Onze opdrachtgever

Bekijk vacature »

Software Consultant Zorg-ICT

In een sector waarin de ontwikkelingen op het vlak van zorg-ICT in stroomversnelling zitten, biedt ChipSoft een ultramodern en ziekenhuisbreed geïntegreerd elektronisch patiëntendossier. Dankzij ons groeiende marktaandeel in België is ChipSoft op zoek naar nieuwe collega’s. Jouw job Als Software Consultant (Zorg-ICT) bij ChipSoft heb je een veelzijdige functie. Je vormt de schakel tussen ziekenhuizen en onze Research & Development-afdeling. Je analyseert de behoeften van de klant en vertaalt deze naar onze ontwikkelaars. Bovendien bied je support aan onze huidige klanten en ben je verantwoordelijk voor de implementatie van HiX, onze ICT-totaaloplossing. Je verzorgt training en opleiding om de zorgprofessionals

Bekijk vacature »

.NET Developer Zorg-ICT

Complexe software ontwikkelen: dat is jouw ding! Voor onze vestiging in Heerenveen zoeken wij fanatieke junior en senior .NET Developers die met de laatste Microsoft-tools en -technieken willen werken. Jij bent gemotiveerd en draagt graag verantwoordelijkheid voor je 'eigen' software, die wordt ingezet in ziekenhuizen door heel Nederland. Jouw baan Je bent verantwoordelijk voor het ontwerpen, ontwikkelen, ondersteunen en onderhouden van jouw eigen module. Dit gaat om complexe ICT-producten die feilloos moeten functioneren binnen de complexe omgeving van een zorgorganisatie. Je werkt zelfstandig of in een klein team. ChipSoft maakt gebruik van een zelf ontwikkeld multi tier framework. Tijdens een

Bekijk vacature »

Mobile App Developer

Ons Mobile ontwikkelteam zoekt een fanatieke Mobile App Developer. Ben jij creatief en heb je passie voor het ontwikkelen van apps? Dan zijn wij op zoek naar jou! Jouw baan ChipSoft heeft al diverse apps uitgebracht en het aantal gebruikers hiervan neemt snel toe. De apps doen het erg goed bij de zorginstellingen. Je kunt hierbij denken aan apps verpleegkundigen, thuiszorgmedewerkers, de logistieke dienst en - natuurlijk - de artsen zelf. Door jouw hands-on mentaliteit, eigenwijsheid en technisch inzicht kun je nauwkeurig herbruikbare software schrijven. Die software sluit naadloos aan op onze ‘back end’ (HiX, onze ICT-totaaloplossing voor de zorg).

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

09/07/2020 19:59:41
 
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.