我的老板给了我一个 .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
toSoapClientDebug
并使用它时,我会收到以下消息:
[Client] looks like we got no XML document in /home/work/soap.php:10
我真的很困惑,我不知道如何在php中使用windows服务