Gegevens binnehalen via SOAP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior Front-end Developer

Front-end Developer bij Capgemini Bij Capgemini DCX bouwen we niet zomaar webapplicaties en mobiele apps waar onze opdrachtgevers en hun klanten mee overweg kunnen. Nee, we ontwikkelen applicaties voor miljoenen gebruikers en dan ook nog apps waar men écht gelukkig van wordt. Van de medewerkers in de organisatie zelf tot aan de eindgebruikers. En als Front-end Developer ben jij hierbij onmisbaar! De rol Van het bouwen van nieuwe functionaliteiten, het behouden, bewaken en verbeteren van de huidige infrastructuur en applicaties tot aan het ontwikkelen van nieuwe innovaties. Als Front-end Developer ben je de (lead) developer binnen jouw scrumteam en werk

Bekijk vacature »

Traineeship junior software developer

Zoek jij een stevige uitdaging en de mogelijkheid om veel nieuwe dingen te leren in een dynamisch vakgebied? Doe mee aan ons IT Professional Program en ontwikkel jezelf tot software engineer! Je begint met een opleidingstraject van 3 maanden. Hierin ga je aan de slag met verschillende technieken die je op conceptueel niveau leert te overzien en interpreteren. Onderwerpen die aan bod komen zijn o.a. programmeren (Java/C#/Python), Object Oriëntatie, Databases, Webservices & webtechnologieën, Domain Driven Design en Continuous Integration/Continuous Delivery. Sommige van deze onderdelen sluit je af met een examen en bijbehorende certificering. Het opleidingstraject zelf sluit je af met

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 »

Junior Front-End Developers for the SSM Informatio

Junior Front-End Developers for the SSM Information Management System Location Frankfurt am Main, Germany Closing date for applications 17 January 2020 Your team You will be part of the Prudential Domain Services Division in the Directorate General Information Systems. We are a team of approximately 25 IT professionals delivering tailored IT solutions for European banking supervision (SSM) to support financial stability and collect supervisory statistics. Working as part of an agile team of software developers, you will take over the development and maintenance of the SSM Information Management System (IMAS) from an external supplier. Currently, the custom-built IMAS web application

Bekijk vacature »

E-learningontwikkelaar

Wil jij meewerken aan de ontwikkeling van hoogwaardige leeroplossingen? En ben je in staat om jouw kennis over opleidingsmethodieken te vertalen naar trainingen? Dan is dit de perfecte uitdaging voor jou! Jouw baan Je belangrijkste taak is het ontwikkelen van e-learningmodules voor specifieke doelgroepen, het inhoudelijk meedenken over en ontwikkelen van creatieve, didactische concepten voor onze klanten. Ruim 90.000 ziekenhuismedewerkers zijn straks door jóuw producten beter in staat om hun patiënten te helpen. Jouw team Als e-learningontwikkelaar ben je onderdeel van een multidisciplinair team dat bestaat uit onderwijskundigen, e-learningontwikkelaars en technisch schrijvers. Binnen dit hechte team heeft ieder zijn eigen

Bekijk vacature »

.Net custom software developer

Jouw uitdaging als .Net developer Als .Net custom software developer creëer je maatwerkoplossingen. Denk aan een mobiele applicatie voor het stroomlijnen van logistieke processen, een platform voor een uitkeringsorganisatie of de passagiersbeleving van een vliegtuigmaatschappij. Hierbij gaat het vaak om complexe omgevingen met veel gebruikers, waarbij de lat dus hoog ligt. Wat jouw werkzaamheden zoal zijn? Je werkt mee aan het gehele ontwikkelproces, van ontwerp, design en ontwikkeling tot testen en beheren van Microsoft applicaties en PoC’s. Je gaat werken met o.a. de volgende technologie: Azure, C#, .Net core, Angular, React, Vue en soms AWS. Je neemt deel aan meetings

Bekijk vacature »

C# .NET Developer / Amsterdam / Financiële om

Functieomschrijving Ben jij een senior C# .NET Developer en wil jij een bijdrage leveren aan een grote Noord-Europese financiële organisatie door innovatieve features te implementeren? Wil jij werken met C# en krijg jij energie van requirements uit de business vertalen naar concrete mogelijkheden? Lees dan nu verder! Als developer nieuwe gave features implementeren; Werken met technieken als C# .NET en (REST) API's webservices; Ontwikkelen van koppelingen middels API's; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen

Bekijk vacature »

Senior Java Developer

Werk jij graag op de grens van het onmogelijke en geef jij onze klanten bij de unit Public Transport een beslissende voorsprong in de markt? en jij een gedreven en ondernemende professional die vooroploopt in zijn/haar vakgebied? Senior Java Developer - Public Transport Wat ga je doen? Als Java consultant bij CGI maak je deel uit van de grootste en meest actieve Java community van Nederland. Als gedreven ontwikkelaar help je complexe systemen te realiseren voor onze klanten. Je maakt in eenvoudige taal aan een klant duidelijk welke software oplossingen op zijn of haar organisatie van toepassing kunnen zijn. Je

Bekijk vacature »

Fullstack Developer/ ASP.NET (Core) / Cloud develo

Functieomschrijving Ben jij een full stack developer die graag aan de slag gaat met cloud development en Continious delivery? Bouw jij graag mee aan informatiediensten en verscheidene platformen? Lees dan snel verder! Bouwen van nieuwe functionaliteiten (10%) Doorontwikkeling van één van de complexe applicaties (30%) Bugfixing (30%) Testen van (jouw) code (30%) Functie-eisen Minimaal een MBO-diploma met HBO werk- en denk niveau; Minimaal 2 a jaar ervaring als .NET developer; Ervaring C#, ASP.NET Core; Ervaring met het Entityframework, Visual Studio; Ervaring binnen een SCRUM/Agile omgeving; Ervaring met Azure (DevOps) is een pré; Ervaring met MVC is een pré. Bedrijfsomschrijving Deze

Bekijk vacature »

Application engineer

Do you have at least 3 years of experience in engineering or computer science? Then you may be interested in the position of: Application engineer located in our EMEA headquarters in ‘s-Hertogenbosch About the position: Includes the following essential duties and responsibilities (other duties may also be assigned): Responsible for technical services and work directly with customers resolving technical issues including server systems, PC systems and computer peripherals. Identifying technical issues and resolve computer hardware & software problems. Establish and maintain lines of communication with sales team to discuss services and technical issues. Travel with sales to customer sites to

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 »

Applicatiebeheerder

Applicatiebeheerder (40 uur) Word jij onze nieuwe collega? Dagelijks creëren wij bewustwording bij organisaties over bedrijfsveiligheid en trainen wij mensen om bij een acute noodsituatie adequaat te handelen. Op een innovatieve manier maken we zo samen Nederland een stukje veiliger. Dit doen we met enthousiaste en gedreven mensen. Ervaren professionals binnen hun vakgebied! Kun jij hierbij van toegevoegde waarde zijn? De komende jaren zetten we vol in op automatisering om onze klanten nog beter van dienst te kunnen zijn. Onze huidige ICT afdeling uitbreiden is dan ook een must. Daarom zijn wij per 1 januari 2020 op zoek naar een

Bekijk vacature »

SAP Developer

Discipline Information Technology Location Venlo (NL) Hours a week 40 Our SAP Developer is a team player vidaXL is a rapidly growing international organization where IT plays a key part. SAP is a crucial component of vidaXL’s extensive IT landscape. In order to maintain continuous growth and improvement of processes we are looking for an experienced SAP Developer. This role focuses mainly on developing, managing and optimizing new and existing processes within SAP, in relation to supply chain management (SCM). In addition, we expect our SAP Developer to function as a back-up and a sparring partner for fellow SAP Developers.

Bekijk vacature »

Python Developer

Locatie AMSTERDAM Functieomschrijving Voor een internationale bank in Amsterdam zoeken wij een Python Developer met interesse in Data Engineering. Waar kom je te werken? Je komt te werken binnen de afdeling Financial Risk. Binnen de bank is deze afdeling verantwoordelijk voor o.a. het voorspellen van risico’s bij het verstrekken van kredieten en het maken van rapportages voor toezichthouders zoals de DNB en de ECB. Op dit moment zitten zij in een enorme transitie fase waarbij er over wordt gegaan op een nieuw datamodel. Het team waar jij komt te werken helpt bij de inrichting van de nieuwe infrastructuur. Hoe ziet

Bekijk vacature »

C# ontwikkelaar / State of the art .NET omgeving

Functieomschrijving Ben jij de .NET backend developer die gewend is op een hoog niveau te werken in C#? Woon jij in de omgeving en wil je bij dé .NET organisatie van Tilburg en omstreken werken? Reageer dan snel! Programmeren van high-availability en high-security applicaties in ASP.NET en C#; Samen met je teamgenoten nieuwe applicaties/diensten ontwikkelen in .NET; Overleggen met de informatie analisten en testers; Ontwikkelen van webservices (WCF); 20 % van je tijd besteden aan innovatie; Deelnemen aan projecten om nieuwe ketenpartijen toe te voegen; Bouwen van unit testen; Deelnemen aan Scrummeetings. Functie-eisen Beschikt over HBO/WO werk- en denkniveau. Als

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

24/01/2020 18:40:18
 
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.