Ik probeer een response van een webservice vanuit een xml naar een array te zetten. Ik krijg wel een xml terug, maar simplexml kan er geen chocolade van maken en zet dus niets om.
Als ik de reponse zelf kopieer en in een variable zet, dan lukt het mij wel om middels simplexml een array aan te maken. Na 1,5 dag zoeken en puzzelen probeer ik het hier. Wellicht ziet iemand hier wat er aan de hand is.
Een voorbeeld van de XML
Eigenlijk gaat om het resultaat vanaf regel 18.
Als ik de reponse zelf kopieer en in een variable zet, dan lukt het mij wel om middels simplexml een array aan te maken. Na 1,5 dag zoeken en puzzelen probeer ik het hier. Wellicht ziet iemand hier wat er aan de hand is.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| <?php require("password.php"); error_reporting(E_ALL); ini_set('display_errors', '1'); $client = new SoapClient("http://lwvweb1.blabla.nl/profitservices/getconnector.asmx?WSDL", array('features' => SOAP_SINGLE_ELEMENT_ARRAYS,'trace' => 1,'exceptions' => 0 )); $filter = '<Filters> <Filter FilterId="Filter 1"> <Field FieldId="Nummer" OperatorType="10">1010402</Field> </Filter> </Filters>'; $GetDataParam = array('environmentId'=> "AC2010",'userId'=>$username,'password'=>$password,'logonAs'=>"",'connectorId'=>"klaas",'filtersXml'=>$filter); $GetDataResponse = $client->GetData($GetDataParam); $xmlstr = $client->__getLastResponse(); if (is_soap_fault($GetDataResponse)) { trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faultstring})", E_USER_ERROR); } else { //"XML;"$GetDataResponse); } echo $xmlstr; $xml = simplexml_load_string($xmlstr); print_r($xml); ?> |
Een voorbeeld van de XML
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| <AfasGetConnector> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="AfasGetConnector"> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element name="klaas"> <xs:complexType> <xs:sequence ><xs:element name="Nummer" type="xs:string" minOccurs="0"/> <xs:element name="Soort_basic_contact" type="xs:string" minOccurs="0"/> <xs:element name="Naam" type="xs:string" minOccurs="0"/></xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <klaas> <Nummer>1010402</Nummer> <Soort_basic_contact>Organisatie</Soort_basic_contact> <Naam>America</Naam> </klaas></AfasGetConnector> |
Eigenlijk gaat om het resultaat vanaf regel 18.
/dev/null