PHP soap客户端到.NET soap Server的错误

时间:2009-12-11 21:15:58

标签: php soap

尝试与.NET soap服务器交互的PHP soap客户端导致以下错误: [soap:Receiver]服务器无法处理请求。 ---> Base-64 char数组的长度无效。

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

GetPropertyStatus接受两个参数,一个凭证对象 - >它正常工作,因为只需要凭据的其他功能正确执行。第二个参数被定义为一个字符串,我试图直接输入它作为字符串和base64_encoded字符串(错误:要解密的数据的长度无效),一个数组和一个关联数组都包含字符串和base64_encoded字符串并得到错误上方。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

感谢您的回复,我最终还是去做了以下工作:

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

我只是将$client->__getLastRequest()与wsdl上的定义进行比较,因为与它的小偏差会导致异常