所以我有一个WSDL,我一直在提供肥皂服务的文档。我需要完全按照定义实现此服务,我不想使用nusoap重写wsdl。有没有办法告诉对象nusoap_server = new soap_server();使用现有的wsdl,然后实现现有wsdl?
中的函数感谢
答案 0 :(得分:0)
$ WSDL ='/ path / to / wsdl / file'; $ nusoap_server = new soap_server($ WSDL);
唯一的问题是nusoap可能无法正确创建响应,但它将托管wsdl文件。
我必须自定义我的xml响应。
您可以告诉nusoap,但您需要修改库。
<?PHP
function serialize_return() {
//$this->fuze_debug(array('test',$this->fuze_print_s($this->methodreturn)),'soap_server_debug.log');
$this->debug('Entering serialize_return methodname: ' . $this->methodname . ' methodURI: ' . $this->methodURI);
// if fault
if (isset($this->methodreturn) && is_object($this->methodreturn) && ((get_class($this->methodreturn) == 'soap_fault') || (get_class($this->methodreturn) == 'nusoap_fault'))) {
$this->debug('got a fault object from method');
$this->fault = $this->methodreturn;
return;
// for some reason with code ignitor this doesnot get set correctly
} elseif ($this->methodreturnisliteralxml) {
//$this->fuze_debug(array('literal xml is : ',$this->fuze_print_s($this->methodreturnisliteralxml)),'soap_server_debug.log');
$return_val = $this->methodreturn;
// returned value(s)
} else {
以上代码位于nusoap库中,您可以看到$ this-&gt; methodreturnisliteralxml
如果将其设置为true,则可以自定义从为nusoap定义的函数返回的xml以处理soap请求。
对我来说,nusoap接缝已经过时了。
我认为我不会再为新项目使用nusoap。