2009-12-11 8 views
2

Le client de savon PHP essayant d'interagir avec un serveur de savon .NET provoque l'erreur suivante: [soap: Receiver] Le serveur n'a pas pu traiter la demande. ---> Longueur invalide pour un tableau char base-64.Erreur dans le client de savon PHP vers le serveur de savon .NET

$credentials = array(
    'RequestorUID'=> 'xxxx', 
    'RequestorPassword'=> 'xxxx' 
); 
$param = array('pmPropertyManagerID'=>'xxxx'); 
$client->GetPropertyStatus($credentials, $param); 

GetPropertyStatus prendre deux arguments, un objet des informations d'identification -> qui fonctionne correctement que d'autres fonctions qui ne nécessitent que des informations d'identification sont exécutées correctement. Le deuxième argument est défini comme une chaîne et j'ai essayé de l'entrer directement comme chaîne et base64_encoded string (erreur: la longueur des données à décrypter est invalide), un tableau et un tableau associatif string et base64_encoded string et obtenir l'erreur au dessus.

Toute aide serait appréciée.

+0

ce client php utilisez-vous (le cas échéant) pour générer votre classe de base? –

+0

la classe SOAP par défaut. Je sais que ce n'est pas personnalisé ou NuSOAP. – Gabe

Répondre

2

Merci pour votre réponse, je vais finalement à travailler à faire ce qui suit:

$client->GetPropertyStatus($credentials, new SoapVar('xxxx', XSD_STRING, 'xsd:string')) 

Je viens de comparer le $client->__getLastRequest() aux définitions sur wsdl comme un petit écart par rapport à cela causerait une exception