我正在使用NuSOAP来尝试使用一个用Java语言构建的Web Service。到目前为止,我有以下代码:
<?php
require_once('lib/nusoap.php');
$wsdl="http://localhost:8080/HelloWorldWS/sayHiService?WSDL";
$client=new nusoap_client($wsdl, 'wsdl');
$param='John';#array('name'=>'John');
echo $client->call('Hey', $param);
unset($client);
?>但是当网页加载时,我得到一个空白页面,代码中什么都没有,我真的不知道为什么。我做错了什么吗?
发布于 2009-04-11 11:36:30
尽管NuSOAP是一个非常常见的PHP SOAP库,但我认为它主要用于PHP4应用程序。因为PHP5有一个内置的SOAP扩展,速度更快(因为它是一个编译的扩展)。我还推荐使用Zend Framework SOAP库。但我记得我想使用一些web服务(不是我写的,用Java实现的),这些SOAP客户端都不起作用,但NuSOAP起作用。我真的不知道为什么。
无论如何,这是我当时为了使用web服务所做的事情:
$soapClient = new nusoap_client($wsdlFile, 'wsdl', '', '', '', '');
$soapClient->soap_defencoding = 'UTF-8';
$soapClient->debug_flag = false;
$soapError = $soapClient->getError();
if (! empty($soapError)) {
$errorMessage = 'Nusoap object creation failed: ' . $soapError;
throw new Exception($errorMessage);
}
// calling verifyT method, using 2 parameters.
$tResult = $soapClient->call( 'verifyT', array($param1, $param2) );
$soapError = $soapClient->getError();
if (! empty($soapError)) {
$errorMessage = 'SOAP method invocation (verifyT) failed: ' . $soapError;
throw new Exception($errorMessage);
}
if ($soapClient->fault) {
$fault = "{$soapClient->faultcode}: {$soapClient->faultdetail} ";
// handle fault situation
}发布于 2009-04-11 11:17:13
不要使用NuSoap。从版本5开始,PHP就有了native soap client,除了更快之外,它更稳定。
..当网页加载时,我得到一个空白页面,什么都没有..
这可能是一个致命的错误。尝试检查错误日志,看看哪里出了问题。或设置display_errors = on
发布于 2010-01-18 23:33:31
不要使用NuSoap。从版本5开始,PHP就有了原生soap客户端
在PHP5上继续使用NuSOAP有一些很好的理由:
中SOAP的本机实现没有提供的一项非常有用的功能
https://stackoverflow.com/questions/739303
复制相似问题