私の上司は、WCFで書いたと言った.netサービスリンクを私にくれました。サービスのプログラマーが、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
toを拡張してSoapClientDebug
これを使用すると、次のメッセージが表示されます。
[Client] looks like we got no XML document in /home/work/soap.php:10
私は本当に混乱しています.PHPでWindowsサービスを使用する方法がわかりません.