5

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

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

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

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);

?>

客户端.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.".";

?>
4

1 回答 1

16

带有服务器NuSOAP和客户端PHP-SOAP

利用:

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

代替:

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

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

于 2013-10-31T14:29:46.893 回答