我的老板给了我一个.net服务链接,上面写着与WCF一起写的。 我认为服务用错误的方法编写,因为服务程序员说我们在asp.net中使用时没有这个服务的问题但是当我在PHP中尝试使用这个服务时我有问题。
我的代码是:
$url = "http://<service url>?wsdl";
$param = new stdClass();
$param->type = "user";
$soap = new SoapClient($url);
$result = $soap->getPerm($param);
当我运行程序时,我会收到此消息:
Fatal error: Uncaught SoapFault exception: [HTTP] Cannot process the message because the content type 'text/xml; charset=utf-8' was not the expected type 'multipart/related; type="application/xop+xml"'. in /home/work/soap.php:10
Stack trace:
#0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'http://<service url>....', 'http://tempuri....', 1, 0)
#1 /home/work/soap.php(10): SoapClient->__call('getPerm', Array)
#2 /home/work/soap.php(10): SoapClient->getPerm(Object(stdClass))
#3 {main}
thrown in /home/work/soap.php on line 10
我使用谷歌来解决我的问题,所以我找到了这篇文章: http://www.binarytides.com/modify-soapclient-request-php/
当我将SoapClient
扩展为SoapClientDebug
并使用此功能时,我会收到以下消息:
[Client] looks like we got no XML document in /home/work/soap.php:10
我真的很困惑,我不知道如何在php中使用windows服务
答案 0 :(得分:0)
实际上有点晚了,但也许这会以任何方式有用。 从你说的服务似乎工作正常。 试试这个: http://www.highonphp.com/fixing-soap-exception-no-xml
或者,如果您确实设法找到解决方案,我很好奇还有什么可以解决问题。