It worked for me. The only difference is that in my http-consumer/provider xbean setting, I didn't include soap="true" attribute. Why don't you take out "soap" attribute in both consumer/provider xbean.xml and try it again ?
sdan wrote: > > I'm trying to forward a soap request to a http-provider-bc from a > http-consumer-bc. The http-provider-bc will then invoke an external > webservice and send the result back to the http-consumer-bc which will > send it back to the client. > > SOAP Request > ----------------------> ------> > > ------> > Client Http-Consumer-BC > Http-Provider-BC External WebService > <---------------------- <------ > > <------- > SOAP response > > This is not working. Please let me know if it is possible to simply > forward the soap request to > http-provider-bc from http-consumer-bc? > > Following are the xbean.xml files for provider/consumer and wsdl file for > external webservice. > > Thanks. > -Dan > > ************************************************************************ > Consumer xbean.xml > > <beans xmlns:http="http://servicemix.apache.org/http/1.0" > xmlns:ts="http://nec.com" > xmlns:py="http://servicemix.apache.org/proxy"> > > <http:endpoint service="py:ProxyService" > endpoint="proxy" > targetService="ts:Hello" > targetEndpoint="HelloSOAP12port_http" > > wsdlResource="http://localhost:8081/axis2/services/Hello?wsdl" > role="consumer" > locationURI="http://localhost:8192/simpleconsumer/" > defaultMep="http://www.w3.org/2004/08/wsdl/in-out" > soap="true" /> > > </beans> > > ************************************************************************ > Provider xbean.xml > > <beans xmlns:http="http://servicemix.apache.org/http/1.0" > xmlns:hs="http://nec.com"> > > <http:endpoint service="hs:Hello" > endpoint="HelloSOAP12port_http" > role="provider" > locationURI="http://localhost:8081/axis2/services/Hello" > defaultMep="http://www.w3.org/2004/08/wsdl/in-out" > soap="true" /> > > </beans> > > ************************************************************************ > > External webservice wsdl > > <wsdl:definitions targetNamespace="http://nec.com"> > <wsdl:documentation>Hello</wsdl:documentation> > > <wsdl:types> > > <xs:schema attributeFormDefault="qualified" > elementFormDefault="qualified" targetNamespace="http://nec.com/xsd"> > > <xs:element name="sayHello"> > > <xs:complexType> > > <xs:sequence> > <xs:element name="req" nillable="true" type="ns:HelloRequest"/> > </xs:sequence> > </xs:complexType> > </xs:element> > <xs:element name="HelloRequest" type="ns:HelloRequest"/> > > <xs:complexType name="HelloRequest"> > > <xs:sequence> > <xs:element name="text" nillable="true" type="xs:string"/> > </xs:sequence> > </xs:complexType> > > <xs:element name="sayHelloResponse"> > > <xs:complexType> > > <xs:sequence> > <xs:element name="return" nillable="true" type="ns:HelloResponse"/> > </xs:sequence> > </xs:complexType> > </xs:element> > <xs:element name="HelloResponse" type="ns:HelloResponse"/> > > <xs:complexType name="HelloResponse"> > > <xs:sequence> > <xs:element name="text" nillable="true" type="xs:string"/> > </xs:sequence> > </xs:complexType> > </xs:schema> > </wsdl:types> > > <wsdl:message name="sayHelloMessage"> > <wsdl:part name="part1" element="ns0:sayHello"/> > </wsdl:message> > > <wsdl:message name="sayHelloResponse"> > <wsdl:part name="part1" element="ns0:sayHelloResponse"/> > </wsdl:message> > > <wsdl:portType name="HelloPortType"> > > <wsdl:operation name="sayHello"> > <wsdl:input message="axis2:sayHelloMessage" wsaw:Action="urn:sayHello"/> > <wsdl:output message="axis2:sayHelloResponse"/> > </wsdl:operation> > </wsdl:portType> > > <wsdl:binding name="HelloSOAP11Binding" type="axis2:HelloPortType"> > <soap:binding transport="http://schemas.xmlsoap.org/soap/http" > style="document"/> > > <wsdl:operation name="sayHello"> > <soap:operation soapAction="urn:sayHello" 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="HelloSOAP12Binding" type="axis2:HelloPortType"> > <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" > style="document"/> > > <wsdl:operation name="sayHello"> > <soap12:operation soapAction="urn:sayHello" style="document"/> > > <wsdl:input> > <soap12:body use="literal"/> > </wsdl:input> > > <wsdl:output> > <soap12:body use="literal"/> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > > <wsdl:binding name="HelloHttpBinding" type="axis2:HelloPortType"> > <http:binding verb="POST"/> > > <wsdl:operation name="sayHello"> > <http:operation location="sayHello"/> > > <wsdl:input> > <mime:content type="text/xml"/> > </wsdl:input> > > <wsdl:output> > <mime:content type="text/xml"/> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > > <wsdl:service name="Hello"> > > <wsdl:port name="HelloSOAP11port_http" > binding="axis2:HelloSOAP11Binding"> > <soap:address location="http://138.15.107.42:8081/axis2/services/Hello"/> > </wsdl:port> > > <wsdl:port name="HelloSOAP12port_http" > binding="axis2:HelloSOAP12Binding"> > <soap12:address > location="http://138.15.107.42:8081/axis2/services/Hello"/> > </wsdl:port> > > <wsdl:port name="HelloHttpport" binding="axis2:HelloHttpBinding"> > <http:address location="http://138.15.107.42:8081/axis2/services/Hello"/> > </wsdl:port> > </wsdl:service> > </wsdl:definitions> > > > > > > -- View this message in context: http://www.nabble.com/Can-I-forward-a-soap-request-to-http-provider-bc-from-http-consumer-bc-directly--if-so-then-why-the-following-example-is-not-working--tf3842012s12049.html#a10884901 Sent from the ServiceMix - User mailing list archive at Nabble.com.
