我正在使用NuSOAP尝试使用Java构建的Web服务.到目前为止我有这个代码:
<?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);
?>
Run Code Online (Sandbox Code Playgroud)
但是当网页加载时,我得到一个空白页面甚至没有代码,我真的不知道为什么.难道我做错了什么?
虽然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
}
Run Code Online (Sandbox Code Playgroud)