0

我的老板给了我一个 .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/

当我扩展SoapClienttoSoapClientDebug并使用它时,我会收到以下消息:

[Client] looks like we got no XML document in /home/work/soap.php:10

我真的很困惑,我不知道如何在php中使用windows服务

4

1 回答 1

0

这实际上有点晚了,但也许这会以任何方式有用。从您所说的服务似乎可以正常工作。试试这个: http ://www.highonphp.com/fixing-soap-exception-no-xml

或者,如果您实际上已经设法找到了解决方案,我很好奇还有什么可以解决问题。

于 2014-03-19T14:17:31.527 回答