我正在尝试将 PHP 肥皂服务器与用 C# 编写的客户端连接起来。WSDL 就是这样创建的:
$autodiscover = new Zend_Soap_AutoDiscover('Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex');
$autodiscover->setClass('Soap_Service1');
$autodiscover->handle();
然后我收到:
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://www.xx.de/soap/version/1"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
targetNamespace="http://www.xx.de/soap/version/1"
name="Soap_Services1"
>
在 C# 中解析的这个 'name="Soap_Services1"' 属性看起来很难看(Services.Soap_Services1Service)。当然 name 与 ServiceBinding 和 PortType 相关。有没有办法在不手动破解 zend 库的情况下更改它?