For about a year now I have been using Axis2/C on the server side with a great deal of success. I am now trying to use it on the client side and things are not working. I just tried with .Net's WCF and it worked fine, looking at the envelopes, there is an obvious difference:
.Net WCF Envelope: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <getVersionCheck xmlns="urn:mmpp:parataMgr"/> </s:Body> </s:Envelope> Axis2/C Envelope: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/ "> <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"> <wsa:To>http://localhost:8041/axis2/services/parataMgr</wsa:To> <wsa:Action>urn:mmpp:parataMgr/getVersionCheck</wsa:Action> <wsa:MessageID>urn:uuid:57dbfc1e-a42e-4501-894b-7e6bf4a8f2bb</wsa:MessageID> </soapenv:Header> <soapenv:Body> <n:getVersionCheck xmlns:n="urn:mmpp:parataMgr"></n:getVersionCheck> </soapenv:Body> </soapenv:Envelope> I am using the auto generated method signature for "getVersionCheck|urn:mmpp:parataMgr" operation, I used these options to generate the code: -uri ParataMgr.wsdl -d adb -u And here is the schema from the WSDL: <xsd:element name="getVersionCheck"> <xsd:complexType> <xsd:sequence> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="getVersionCheckResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="version" type="xsd:int"></xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element>