.Net
General comments:
Microsoft .Net implementation needs method parameters to be wrapped into top level object or array.
That's may be done using separate class Zend_Soap_Client_DotNet which extends Zend_Soap_Client and wraps parameters (and, probably response?) into object.
It also has some namespaces handling differences for SOAP 1.1 services (see commments to the SoapClient->__doRequest()) PHP method.
Mesages
| Zend_Soap components example | .Net example | Differences | Description | Way to reach compatibility | |
|---|---|---|---|---|---|
| Request | |||||
| Response | |||||
| Fault response |
Complex types representation
| Complex types | WSDL description (types section) | Example |
|---|---|---|
| Arrays (Zend_Soap) | ||
| Arrays (.Net) |
Differences:
Way to get compatibility:
| Complex types | WSDL description (types section) | Example |
|---|---|---|
| Objects (Zend_Soap) | ||
| Objects (.Net) |
Differences:
Way to get compatibility:
WSDL
| Implementation | WSDL example |
|---|---|
| Zend_Soap | |
| .Net | <?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="http://www.serviceobjects.com/"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
targetNamespace="http://www.serviceobjects.com/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://www.serviceobjects.com/">
<s:element name="GetAllCurrencies">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="LicenseKey" type="s:string" />
</s:sequence>
</s:complexType>
...
</s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="GetAllCurrenciesSoapIn">
<wsdl:part name="parameters" element="tns:GetAllCurrencies" />
</wsdl:message>
<wsdl:message name="GetAllCurrenciesSoapOut">
<wsdl:part name="parameters" element="tns:GetAllCurrenciesResponse" />
</wsdl:message>
...
<wsdl:message name="ConvertCurrencyHttpPostIn">
<wsdl:part name="Amount" type="s:string" />
<wsdl:part name="ConvertFromCurrency" type="s:string" />
<wsdl:part name="ConvertToCurrency" type="s:string" />
<wsdl:part name="LicenseKey" type="s:string" />
</wsdl:message>
...
<wsdl:portType name="DOTSCurrencyExchangeSoap">
<wsdl:operation name="GetAllCurrencies">
<documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Gives a list of the supported currency symbols.</documentation>
<wsdl:input message="tns:GetAllCurrenciesSoapIn" />
<wsdl:output message="tns:GetAllCurrenciesSoapOut" />
</wsdl:operation>
<wsdl:operation name="GetAllCountryCurrencies">
<documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Gives a list of the supported currency symbols with their associated country information.</documentation>
<wsdl:input message="tns:GetAllCountryCurrenciesSoapIn" />
<wsdl:output message="tns:GetAllCountryCurrenciesSoapOut" />
</wsdl:operation>
...
</wsdl:portType>
<wsdl:portType name="DOTSCurrencyExchangeHttpPost">
<wsdl:operation name="GetAllCurrencies">
<documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Gives a list of the supported currency symbols.</documentation>
<wsdl:input message="tns:GetAllCurrenciesHttpPostIn" />
<wsdl:output message="tns:GetAllCurrenciesHttpPostOut" />
</wsdl:operation>
...
</wsdl:portType>
<wsdl:binding name="DOTSCurrencyExchangeSoap" type="tns:DOTSCurrencyExchangeSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
<wsdl:operation name="GetAllCurrencies">
<soap:operation soapAction="http://www.serviceobjects.com/GetAllCurrencies" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
...
</wsdl:binding>
<wsdl:binding name="DOTSCurrencyExchangeHttpGet" type="tns:DOTSCurrencyExchangeHttpGet">
<http:binding verb="GET" />
<wsdl:operation name="GetAllCurrencies">
<http:operation location="/GetAllCurrencies" />
<wsdl:input>
<http:urlEncoded />
</wsdl:input>
<wsdl:output>
<mime:mimeXml part="Body" />
</wsdl:output>
</wsdl:operation>
...
</wsdl:binding>
<wsdl:service name="DOTSCurrencyExchange">
<documentation xmlns="http://schemas.xmlsoap.org/wsdl/">For more information on our web services, visit us at <a href='http://www.serviceobjects.com/products/default.asp' target='new'>our website</a><br/><br/><a href='http://www.serviceobjects.com' target='new'><img src='http://www.serviceobjects.com/images/so_logo_2_inside.gif' border='0'/></a></documentation>
<wsdl:port name="DOTSCurrencyExchangeSoap" binding="tns:DOTSCurrencyExchangeSoap">
<soap:address location="http://trial.serviceobjects.com/ce/CurrencyExchange.asmx" />
</wsdl:port>
<wsdl:port name="DOTSCurrencyExchangeHttpGet" binding="tns:DOTSCurrencyExchangeHttpGet">
<http:address location="http://trial.serviceobjects.com/ce/CurrencyExchange.asmx" />
</wsdl:port>
<wsdl:port name="DOTSCurrencyExchangeHttpPost" binding="tns:DOTSCurrencyExchangeHttpPost">
<http:address location="http://trial.serviceobjects.com/ce/CurrencyExchange.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
|
Differences:
Way to get compatibility:
JEE
General comments:
Mesages
| Zend_Soap components example | JEE example | Differences | Description | Way to reach compatibility | |
|---|---|---|---|---|---|
| Request | |||||
| Response | |||||
| Fault response |
Complex types representation
| Complex types | WSDL description (types section) | Example |
|---|---|---|
| Arrays (Zend_Soap) | ||
| Arrays (JEE |
Differences:
Way to get compatibility:
| Complex types | WSDL description (types section) | Example |
|---|
| Objects (Zend_Soap) | ||
|---|---|---|
| Objects (JEE) |
Differences:
Way to get compatibility:
WSDL
| Implementation | WSDL example |
|---|---|
| Zend_Soap components | |
| JEE |
Differences:
Way to get compatibility:
ZF Home Page
Code Browser
Wiki Dashboard