You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by jainmcs03 <to...@gmail.com> on 2015/05/12 12:23:17 UTC

Unable to make a SOAP/HTTP request through webservice proxy

Team,

I have successfully done the transformation(unmarshal->do process->marshal)
but getting a error response from real webservice. Below the error and route
definition. 

Error:
<?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>soapenv:</faultcode><faultstring>First
Element must contain the local name, Envelope , but found
InquiryRequest</faultstring><detail/></soapenv:Fault></soapenv:Body></soapenv:Envelope>

Enpoints & Route:
  <cxf:cxfEndpoint id="canonicalService"
                  
address="http://localhost:8080/canonicalcxfserviceproxy/webservices/canonical"
                   endpointName="xsd:CanonicalSoap"
                   serviceName="xsd:Canonical"
                   wsdlURL="etc/canonical.wsdl"
                  
xmlns:xsd="http://localhost:8080/canonicalcxfserviceproxy/canonical"/>
  <cxf:cxfEndpoint id="callRealWebService"
                  
address="https://eporttrain.equifax.co.in/creditreportws/CreditReportWSInquiry/v1.0/"
                   endpointName="xsd:CreditReportWSInquiryPort"
                   serviceName="xsd:v1.0"
                  
xmlns:xsd="http://services.equifax.com/eport/ws/schemas/1.0"/>

  <camelContext trace="true" typeConverterStatisticsEnabled="true"
xmlns="http://camel.apache.org/schema/spring">
      <route streamCache="true">
      <from uri="cxf:bean:canonicalService?dataFormat=PAYLOAD"/>
      <wireTap
uri="file:/home/analyzer/Desktop/input/?fileName=request.xml"/>
      <unmarshal>
      	<jaxb prettyPrint="true"
contextPath="localhost._8080.canonicalcxfserviceproxy.canonical"/>
      </unmarshal>
      <process ref="reqprocessor"/>
      <marshal>
      	<jaxb prettyPrint="true"
contextPath="com.equifax.services.eport.ws.schemas._1"/>
      </marshal>
      <wireTap
uri="file:/home/analyzer/Desktop/input/?fileName=realrequest.xml"/>  
      <to uri="cxf:bean:callRealWebService?dataFormat=MESSAGE"/>    
      <wireTap
uri="file:/home/analyzer/Desktop/output/?fileName=response.xml"/>
      </route>    
  </camelContext>


Regards
Jayendran




--
View this message in context: http://camel.465427.n5.nabble.com/Unable-to-make-a-SOAP-HTTP-request-through-webservice-proxy-tp5767008.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Unable to make a SOAP/HTTP request through webservice proxy

Posted by Aki Yoshida <el...@gmail.com>.
i suppose the problem is that you are mixing up the payload and
message modes without doing any adjustment between.
the payload mode expects the body-child document, so this is something
like your InquiryRequest.
in contrast, the message mode expects the entire soap message, so this
starts with soap:Envelope.

see the dataformat section of the camel-cxf documentation.
http://camel.apache.org/cxf.html#CXF-Thedescriptionsofthedataformats

2015-05-12 12:23 GMT+02:00 jainmcs03 <to...@gmail.com>:
>
> Team,
>
> I have successfully done the transformation(unmarshal->do process->marshal)
> but getting a error response from real webservice. Below the error and route
> definition.
>
> Error:
> <?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>soapenv:</faultcode><faultstring>First
> Element must contain the local name, Envelope , but found
> InquiryRequest</faultstring><detail/></soapenv:Fault></soapenv:Body></soapenv:Envelope>
>
> Enpoints & Route:
>   <cxf:cxfEndpoint id="canonicalService"
>
> address="http://localhost:8080/canonicalcxfserviceproxy/webservices/canonical"
>                    endpointName="xsd:CanonicalSoap"
>                    serviceName="xsd:Canonical"
>                    wsdlURL="etc/canonical.wsdl"
>
> xmlns:xsd="http://localhost:8080/canonicalcxfserviceproxy/canonical"/>
>   <cxf:cxfEndpoint id="callRealWebService"
>
> address="https://eporttrain.equifax.co.in/creditreportws/CreditReportWSInquiry/v1.0/"
>                    endpointName="xsd:CreditReportWSInquiryPort"
>                    serviceName="xsd:v1.0"
>
> xmlns:xsd="http://services.equifax.com/eport/ws/schemas/1.0"/>
>
>   <camelContext trace="true" typeConverterStatisticsEnabled="true"
> xmlns="http://camel.apache.org/schema/spring">
>       <route streamCache="true">
>       <from uri="cxf:bean:canonicalService?dataFormat=PAYLOAD"/>
>       <wireTap
> uri="file:/home/analyzer/Desktop/input/?fileName=request.xml"/>
>       <unmarshal>
>         <jaxb prettyPrint="true"
> contextPath="localhost._8080.canonicalcxfserviceproxy.canonical"/>
>       </unmarshal>
>       <process ref="reqprocessor"/>
>       <marshal>
>         <jaxb prettyPrint="true"
> contextPath="com.equifax.services.eport.ws.schemas._1"/>
>       </marshal>
>       <wireTap
> uri="file:/home/analyzer/Desktop/input/?fileName=realrequest.xml"/>
>       <to uri="cxf:bean:callRealWebService?dataFormat=MESSAGE"/>
>       <wireTap
> uri="file:/home/analyzer/Desktop/output/?fileName=response.xml"/>
>       </route>
>   </camelContext>
>
>
> Regards
> Jayendran
>
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/Unable-to-make-a-SOAP-HTTP-request-through-webservice-proxy-tp5767008.html
> Sent from the Camel - Users mailing list archive at Nabble.com.