Sync
Новичок
веб-сервис на PHP и WS-I совместимость
Всем привет.
Есть у меня свой веб-сервис на PHP.
Есть клиенты .NET, для которых мой wsdl должен отвечать требованиям WS-I Basic Profile (http://ws-i.org/Profiles/BasicProfile-1.1.html)
у меня указывается схема для кодирования тела ответа:
что противоречит этому самому Basic Profile:
но в этом случае у меня меняется формат данных ответа (xml и массивы возвращаемые методами сервиса)
В SOAP я не силен.
Вобщем, я даже не могу понять как сделать так, чтобы использовать literal но при этом энкодить с помощью этого
http://schemas.xmlsoap.org/soap/encoding/
PS. сервис использует нативный SoapServer
с клиентами php SoapClient все работает отлично. а вот у .NET:
Всем привет.
Есть у меня свой веб-сервис на PHP.
Есть клиенты .NET, для которых мой wsdl должен отвечать требованиям WS-I Basic Profile (http://ws-i.org/Profiles/BasicProfile-1.1.html)
у меня указывается схема для кодирования тела ответа:
PHP:
<soap:body namespace="urn:MyService" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
Я конечно могу указать literal и сделать вот так:The Profile prohibits the use of encodings, including the SOAP encoding.
R2706 A wsdl:binding in a DESCRIPTION MUST use the value of "literal" for the use attribute in all soapbind:body, soapbind:fault, soapbind:header and soapbind:headerfault elements.
PHP:
<soap:body namespace="urn:MyService" use="literal"/>
В SOAP я не силен.
Вобщем, я даже не могу понять как сделать так, чтобы использовать literal но при этом энкодить с помощью этого
http://schemas.xmlsoap.org/soap/encoding/
PS. сервис использует нативный SoapServer
с клиентами php SoapClient все работает отлично. а вот у .NET:
PHP:
Unable to import binding ‘MyService_HandlerBinding’ from namespace ‘urn:MyService’. Unable to import operation ‘call’.