1

我尝试使用 SOAP,但它不起作用。我尝试了 localhost 和另一台服务器。例如: soap.xml:

POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn

<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

<soap:Body xmlns:m="http://www.example.org/stock">
  <m:GetStockPrice>
    <m:StockName>IBM</m:StockName>
  </m:GetStockPrice>
</soap:Body>

</soap:Envelope>

结果是:

XML 解析错误:语法错误位置: http://w3.localhost/soap/soap.xml第 1 行,第 1 列:POST /InStock HTTP/1.1 ^

php信息:

soap
Soap Client     enabled
Soap Server     enabled 

apache mime.types

application/fastsoap
application/soap+fastinfoset
application/soap+xml

我也尝试过使用 nusoap,但是 example.php 向我显示了这个错误:

Fatal error: Cannot redeclare class soapclient in C:\xampp\htdocs\w3\soap\nusoap.php on line 3896

感谢您的帮助,对我的英语感到抱歉。

4

2 回答 2

0

从您的 soap.xml 中删除 HTTP-Header,以便只保留有效的有效负载 (SOAP/XML) 并且它应该可以工作。

于 2012-04-03T20:19:02.097 回答
0

也许 PHP 版本已经过时了。SOAP 内置在 PHP5 中,因此不需要使用 NuSOAP。

注意:我想说实际上有许多与 SOAP 无关的问题会导致该错误。

于 2010-08-12T20:29:55.067 回答