NuSoap soapClient调用"标记html中的数据过早结束"错误

Ala*_*rte 4 php wsdl web-services nusoap

我正在尝试调用我创建的Web服务,但服务器返回以下错误:

致命错误:未捕获的SoapFault异常:[WSDL] SOAP-ERROR:解析WSDL:无法从" http://www.savepoints.com.br/server.php?WSDL " 加载:标记html行中的数据过早结束2 in /home/storage/a/39/1c/site1365816459/public_html/cliente.php:5堆栈追踪:#0 /home/storage/a/39/1c/site1365816459/public_html/cliente.php(5):SoapClient - > 第5行/home/storage/a/39/1c/site1365816459/public_html/cliente.php中的SoapClient(' http://www.save ...')#1 {main}

在这里,我展示了两个脚本:

server.php(它是WSDL服务器)

<?php

require('classes/nusoap/nusoap.php');

$server = new soap_server();

$server->configureWSDL('stockserver', 'urn:stockquote');

$server->register('getStockQuote',
    array('symbol' => 'xsd:string'),
    array('return' => 'xsd:decimal'),
    'urn:stockquote',
    'urn:stockquote#getStockQuote');

$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';

$server->service($HTTP_RAW_POST_DATA);

?>
Run Code Online (Sandbox Code Playgroud)

cliente.php

<?php

require('classes/nusoap/nusoap.php');

$c = new SoapClient('http://www.savepoints.com.br/server.php?WSDL');

$stockprice = $c->call('getStockQuote',array('symbol' => 'ABC'));

echo "The stock price for 'ABC' is ".$stockprice.".";

?>
Run Code Online (Sandbox Code Playgroud)

小智 13

使用服务器NuSOAP和客户端PHP-SOAP.

使用:

$c = new SoapClient('http://www.savepoints.com.br/server.php?wsdl');
Run Code Online (Sandbox Code Playgroud)

代替:

$c = new SoapClient('http://www.savepoints.com.br/server.php?WSDL');
Run Code Online (Sandbox Code Playgroud)

我不知道为什么,但它对我有用.