Nusoap使用现有的WSDL如何?

时间:2011-11-29 19:45:31

标签: php soap wsdl nusoap

所以我有一个WSDL,我一直在提供肥皂服务的文档。我需要完全按照定义实现此服务,我不想使用nusoap重写wsdl。有没有办法告诉对象nusoap_server = new soap_server();使用现有的wsdl,然后实现现有wsdl?

中的函数

感谢

1 个答案:

答案 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。