Beheerder |
|
Zo weer eens een topic van mij.
Ik ben bezig met een SOAP koppeling te leggen met een webservice. Ik weet wat ik ze toe moet sturen. Maar ik krijg op geen enkele wijze hetvolgende voor elkaar.
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:m0="http://schemas.domein.nl/datacatalogus/modellen/modelrelatie">
<SOAP-ENV:Header>
<m:header xmlns:m="http://schemas.domein.nl/soap">
<m:account>String</m:account>
<m:naam>String</m:naam>
<m:wachtwoord>String</m:wachtwoord>
<m:bedrijfsnummer>0</m:bedrijfsnummer>
<m:tussenpersoonnummer>0</m:tussenpersoonnummer>
</m:header>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<m:RelatieAanmaken xmlns:m="http://schemas.domein.nl/services/relatieservice">
<m:relatie pc="D">
<m0:adres>aa</m0:adres>
<m0:afgiftedatumrijbewijs>1967-08-13</m0:afgiftedatumrijbewijs>
<m0:beroepscode>9999</m0:beroepscode>
<m0:bezoekadres>aa</m0:bezoekadres>
</m:relatie>
</m:RelatieAanmaken>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:m0="http://schemas.domein.nl/datacatalogus/modellen/modelrelatie"> <SOAP-ENV:Header> <m:header xmlns:m="http://schemas.domein.nl/soap"> <m:account>String</m:account> <m:naam>String</m:naam> <m:wachtwoord>String</m:wachtwoord> <m:bedrijfsnummer>0</m:bedrijfsnummer> <m:tussenpersoonnummer>0</m:tussenpersoonnummer> </m:header> </SOAP-ENV:Header> <SOAP-ENV:Body> <m:RelatieAanmaken xmlns:m="http://schemas.domein.nl/services/relatieservice"> <m:relatie pc="D"> <m0:adres>aa</m0:adres> <m0:afgiftedatumrijbewijs>1967-08-13</m0:afgiftedatumrijbewijs> <m0:beroepscode>9999</m0:beroepscode> <m0:bezoekadres>aa</m0:bezoekadres> </m:relatie> </m:RelatieAanmaken> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Het gaat vooral om het gebruik van de namespaces. Ik heb geprobeerd om ze toe te wijzen met namespaces functie.
$client = "http://www.domein.nl/soap.asmx?wsdl";
$client->namespaces = array('m' => 'http://schemas.domein.nl/soap',
'rel' => 'http://schemas.domein.nl/service/relatieservice',
'm0' => 'http://schemas.domein.nl/datacatalogus/modellen/modelrelatie',
'SOAP-ENV' => 'http://schemas.xmlsoap.org/soap/envelope/',
'xsd' => 'http://www.w3.org/2001/XMLSchema',
'xsi' => 'http://www.w3.org/2001/XMLSchema-instance',
'SOAP-ENC' => 'http://schemas.xmlsoap.org/soap/encoding/');
$client = "http://www.domein.nl/soap.asmx?wsdl"; $client->namespaces = array('m' => 'http://schemas.domein.nl/soap', 'rel' => 'http://schemas.domein.nl/service/relatieservice', 'm0' => 'http://schemas.domein.nl/datacatalogus/modellen/modelrelatie', 'SOAP-ENV' => 'http://schemas.xmlsoap.org/soap/envelope/', 'xsd' => 'http://www.w3.org/2001/XMLSchema', 'xsi' => 'http://www.w3.org/2001/XMLSchema-instance', 'SOAP-ENC' => 'http://schemas.xmlsoap.org/soap/encoding/');
Maar dan geeft hij aan dat het een ongeldige xml is. Dus wie weet een oplossing om bovenstaand soap request te kunnen genereren.
En dan vooral om een toewijzing van de namespace in een element te zetten door middel van <prefix>:<namespace>
Als iemand een oplossing met de SOAP van PHP weet dan is dit ook welkom.
Bij voorbaat dank,
|