Comment définir un SoapVar espace de noms?
J'ai besoin de ce nœud dans ma Requête SOAP (à l'aide d'1.1):
<CredentialsHeader xmlns="http://www.url.com/Services/P24ListingService11"
<EMail>[email protected]</EMail>
<Password>password</Password>
</CredentialsHeader>
J'ai donc le PHP suivant:
$client = new SoapClient("https://exdev.www.example.com/Services/example.asmx?WSDL",
array(
"trace" => 1,
"exceptions" => 0,
"cache_wsdl" => 0,
'soap_version' => SOAP_1_1
)
);
$CredentialObject = new SoapVar(array('EMail' => '[email protected]', 'Password' => 'password'), SOAP_ENC_OBJECT);
Qui génère:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.example.com/Services/Example">
<SOAP-ENV:Header>
<ns1:CredentialsHeader>
<EMail>[email protected]</EMail>
<Password>password</Password>
</ns1:CredentialsHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:EchoAuthenticated/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Tout ce que j'ai à faire est de prévenir à l'aide de ns1
et définissons les xmlns
dans le nœud de la sorte:
<CredentialsHeader xmlns="http://www.example.com/Services/Example">
<EMail>[email protected]</EMail>
<Password>password</Password>
</CredentialsHeader>
Je l'ai testé que sous Firefox Affiche et savons pour un fait que le changement résout le problème.
OriginalL'auteur rickyduck | 2012-06-01
Vous devez vous connecter pour publier un commentaire.
De cette façon, vous pouvez utiliser directement le XML de Type XSD_ANYXML.
Espère que cela va résoudre votre problème.
OriginalL'auteur Umesh Chavan
http://www.php.net/manual/tr/soapvar.soapvar.php
Paramètre "node_namespace" est-ce que vous avez été à la recherche pour, je suppose.
OriginalL'auteur gokturk
J'ai eu le même problème et a trouvé que si vous mappez un mannequin de classe à l'information d'identification de type complexe à partir de votre WSDL, PHP va afficher quelque chose comme:
Ce n'est pas exactement ce qui était demandé, mais bien plus de commentaires, c'est équivalent.
Le code qui va comme ceci:
OriginalL'auteur Bao-Long Nguyen-Trong