hi, ggthe question I have here is do I need to specify that it is SOAP endpoint explicitly in http provider component? Heres is my WSDL <?xml version="1.0" encoding="UTF-8" ?> - <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ns="http://test" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://test"> <wsdl:documentation>TestService</wsdl:documentation> - <wsdl:types> - <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://test"> - <xs:element name="hello"> - <xs:complexType> - <xs:sequence> <xs:element minOccurs="0" name="i" type="xs:int" /> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> </wsdl:types> - <wsdl:message name="helloRequest"> <wsdl:part name="parameters" element="ns:hello" /> </wsdl:message> - <wsdl:portType name="TestServicePortType"> - <wsdl:operation name="hello"> <wsdl:input message="ns:helloRequest" wsaw:Action="urn:hello" /> </wsdl:operation> </wsdl:portType> - <wsdl:binding name="TestServiceSoap11Binding" type="ns:TestServicePortType"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> - <wsdl:operation name="hello"> <soap:operation soapAction="urn:hello" style="document" /> - <wsdl:input> <soap:body use="literal" /> </wsdl:input> </wsdl:operation> </wsdl:binding> - <wsdl:binding name="TestServiceSoap12Binding" type="ns:TestServicePortType"> <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> - <wsdl:operation name="hello"> <soap12:operation soapAction="urn:hello" style="document" /> - <wsdl:input> <soap12:body use="literal" /> </wsdl:input> </wsdl:operation> </wsdl:binding> - <wsdl:binding name="TestServiceHttpBinding" type="ns:TestServicePortType"> <http:binding verb="POST" /> - <wsdl:operation name="hello"> <http:operation location="TestService/hello" /> - <wsdl:input> <mime:content type="text/xml" part="hello" /> </wsdl:input> </wsdl:operation> </wsdl:binding> - <wsdl:service name="TestService"> - <wsdl:port name="TestServiceHttpSoap11Endpoint" binding="ns:TestServiceSoap11Binding"> <soap:address location="http://localhost:80/axis2/services/TestService.TestServiceHttpSoap11Endpoint/" /> </wsdl:port> - <wsdl:port name="TestServiceHttpSoap12Endpoint" binding="ns:TestServiceSoap12Binding"> <soap12:address location="http://localhost:80/axis2/services/TestService.TestServiceHttpSoap12Endpoint/" /> </wsdl:port> - <wsdl:port name="TestServiceHttpEndpoint" binding="ns:TestServiceHttpBinding"> <http:address location="http://localhost:80/axis2/services/TestService.TestServiceHttpEndpoint/" /> </wsdl:port> </wsdl:service> </wsdl:definitions>
Freeman Fang wrote: > > Hi, > > Not exactly sure what happened, could you use some tools like > tcpmonitor between http provider and axis2 service? > You can dump the on-wire message http endpoint sent out to compare it > with that you send from soapui, you should be able to see the > difference there. > > > And if you want to use soap feature, so should select cxf bc provider, > as it's better soap support. > For cxf bc provider, you needn't specify the soapVersion, you just > specify a wsdl, cxf bc provider will load the wsdl and determine which > soap version should be based on the wsdl binding. > > Freeman > On 2010-4-15, at 上午11:05, gnanda wrote: > >> >> Hi all, >> I am using apache-servicemix-4.0.0. I have a http provider end point >> which >> is defined as below >> <http:endpoint service="test:hello" >> endpoint="endpoint" >> role="provider" >> >> locationURI="http://localhost:80/axis2/services/TestService" >> >> soapVersion ="1.2" >> /> >> I am calling an external web service defined in Axis2 web server >> when I am using below soap message it works >> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope" >> xmlns:test="http://test"> >> <soap:Header >> xmlns:wsa="http://www.w3.org/2005/08/ >> addressing"><wsa:Action>urn:hello</wsa:Action> >> <wsa:To>http://localhost:80/axis2/services/TestService</wsa:To> >> >> <entity>abc</entity></soap:Header> >> <soap:Body> >> <test:hello> >> <!--Optional:--> >> <test:i>1</test:i> >> </test:hello> >> </soap:Body> >> </soap:Envelope> >> >> if i use soap 1.2 namesapce as below >> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" >> xmlns:test="http://test"> >> <soap:Header >> xmlns:wsa="http://www.w3.org/2005/08/ >> addressing"><wsa:Action>urn:hello</wsa:Action> >> <wsa:To>http://localhost/axis2/services/TestService</wsa:To> >> >> <entity>abc</entity></soap:Header> >> <soap:Body> >> <test:hello> >> <!--Optional:--> >> <test:i>1</test:i> >> </test:hello> >> </soap:Body> >> </soap:Envelope> >> it is returning me soap fault as below. I am sure axis2 is soap1.2 >> enabled, >> because if I send the above message from soapui to axis2 it returns >> correct >> result to me. >> <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope >> xmlns:soapenv="http://schemas.xmlsoap.org/soap/ >> envelope/"><soapenv:Header >> xmlns:wsa="http://www.w3.org/2005/08/addressing"><wsa:Action>http://www.w3.org/2005/08/addressing/soap/fault >> >> </wsa:Action></ >> soapenv:Header >> ><soapenv:Body><soapenv:Fault><faultcode>soap:VersionMismatch</ >> faultcode><faultstring>Transport >> level information does not match with SOAP Message namespace >> URI</faultstring><detail/></soapenv:Fault></soapenv:Body></ >> soapenv:Envelope> >> >> Please suggest >> >> -- >> View this message in context: >> http://old.nabble.com/smx4-http-provider-soap12-version-mismatch-tp28250751p28250751.html >> Sent from the ServiceMix - User mailing list archive at Nabble.com. >> > > > -- > Freeman Fang > ------------------------ > Open Source SOA: http://fusesource.com > > > -- View this message in context: http://old.nabble.com/smx4-http-provider-soap12-version-mismatch-tp28250751p28255802.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
