Здравствуйте! Возникла проблема с использованием SOAP-модуля PHP. Почему-то при использовании Document-style WSDL (авторитетные люди именно его рекомендуют к использованию) возникает ошибка приблизительного вида: Код (Text): PHP Fatal error: Uncaught SoapFault exception: [SOAP-ENV:Client] Method 'parameters' not implemented: method name or namespace not recognized in /usr/home/illy/Programming/SOAP/PHP/document_style_wsdl/web_service_client.php:5 Stack trace: #0 [internal function]: SoapClient->__call('initUserSession', Array) #1 /usr/home/illy/Programming/SOAP/PHP/document_style_wsdl/web_service_client.php(5): SoapClient->initUserSession(1, 'vasya_pupkin', 'password') #2 {main} thrown in /usr/home/illy/Programming/SOAP/PHP/document_style_wsdl/web_service_client.php on line При использовании RPC-style WSDL (НЕ рекомендован) все отрабатывает нормально. Сам WSDL, вроде, нормальный, т.к. библиотека gSOAP, с помощью которой реализованы SOAP-сервер и клиентские приложения, "проглатывает" его без проблем, да и на валидаторе прогоняется... Может кто сталкивался? Собственно текст программы: PHP: <?php ini_set('soap.wsdl_cache_enabled', '0'); $client = new SoapClient("web_service.wsdl"); $uuid = $client->initUserSession(1, 'vasya_pupkin', 'password'); ?> WSDL: Код (Text): <?xml version="1.0"?> <wsdl:definitions name="WebService" targetNamespace="http://soap.webservice.com/soapd/web_service.wsdl" xmlns:tns="http://soap.webservice.com/soapd/web_service.wsdl" xmlns:islxsd="http://soap.webservice.com/soapd/web_service.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> <wsdl:types> <xsd:schema targetNamespace="http://soap.webservice.com/soapd/web_service.xsd" xmlns:tns="http://soap.webservice.com/soapd/web_service.xsd" xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"> <!-- Common types: --> <xsd:simpleType name="UUIDDataType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="EntityIDDataType"> <xsd:restriction base="xsd:int"> <xsd:minInclusive value="0" /> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="EntityIDRequestDataType"> <xsd:complexContent> <xsd:restriction base="xsd:anyType"> <xsd:sequence> <xsd:element name="uuid" type="tns:UUIDDataType" /> <xsd:element name="id" type="tns:EntityIDDataType" /> </xsd:sequence> </xsd:restriction> </xsd:complexContent> </xsd:complexType> <!-- Custom types --> <xsd:complexType name="LoggedErrorsDataType"> <xsd:complexContent> <xsd:restriction base="xsd:anyType"> <xsd:sequence> <xsd:element name="id" type="tns:EntityIDDataType" /> <xsd:element name="message" type="xsd:string" /> </xsd:sequence> </xsd:restriction> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="ArrayOfLoggedErrorsDataType"> <xsd:complexContent> <xsd:restriction base="xsd:anyType"> <xsd:sequence> <xsd:element name="errors" minOccurs="0" maxOccurs="unbounded" nillable="false" type="tns:LoggedErrorsDataType" /> </xsd:sequence> </xsd:restriction> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="InitUserSessionRequestDataType"> <xsd:complexContent> <xsd:restriction base="xsd:anyType"> <xsd:sequence> <xsd:element name="loginTypeID" type="tns:EntityIDDataType" /> <xsd:element name="login" type="xsd:string" /> <xsd:element name="password" type="xsd:string" /> </xsd:sequence> </xsd:restriction> </xsd:complexContent> </xsd:complexType> <!-- Elements: --> <xsd:element name="faultResponse" type="tns:ArrayOfLoggedErrorsDataType" /> <xsd:element name="initUserSessionRequest" type="tns:InitUserSessionRequestDataType"/> <xsd:element name="initUserSessionResponse" type="tns:UUIDDataType"/> </xsd:schema> </wsdl:types> <wsdl:message name="faultResponse"> <wsdl:part name="parameters" element="islxsd:faultResponse"/> </wsdl:message> <wsdl:message name="initUserSessionRequest"> <wsdl:part name="parameters" element="islxsd:initUserSessionRequest"/> </wsdl:message> <wsdl:message name="initUserSessionResponse"> <wsdl:part name="parameters" element="islxsd:initUserSessionResponse"/> </wsdl:message> <wsdl:portType name="WebServiceInterface"> <wsdl:operation name="initUserSession"> <wsdl:input message="tns:initUserSessionRequest"/> <wsdl:output message="tns:initUserSessionResponse"/> <wsdl:fault message="tns:faultResponse" name="initUserSessionFault"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="WebServiceSoapHttpBinding" type="tns:WebServiceInterface"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="initUserSession"> <soap:operation soapAction="http://soap.webservice.com/soapd"/> <wsdl:input> <soap:body use="literal" namespace="http://soap.webservice.com/soapd/web_service.wsdl"/> </wsdl:input> <wsdl:output> <soap:body use="literal" namespace="http://soap.webservice.com/soapd/web_service.wsdl"/> </wsdl:output> <wsdl:fault name="initUserSessionFault"> <soap:fault use="literal" namespace="http://soap.webservice.com/soapd/web_service.wsdl"/> </wsdl:fault> </wsdl:operation> </wsdl:binding> <wsdl:service name="WebServiceService"> <wsdl:documentation>SOAP-service</wsdl:documentation> <wsdl:port name="WebServiceEndpoint" binding="tns:WebServiceSoapHttpBinding"> <soap:address location="http://soap.webservice.com:8080/cgi-bin/soapd"/> </wsdl:port> </wsdl:service> </wsdl:definitions>