Re: the namespace on the "IReportServiceExecuteRequest" element, is not a valid SOAP version
Here is my code: Exchange exchange = template.send("cxf:bean:xdrReceiverEndpoint?synchronous=true&exchangePattern=InOut", new Processor() { public void process(final Exchange exchange) throws Exception { List elements = new ArrayList(); elements.add(new DOMSource(DOMUtils.readXml(new StringReader(REQ_MESSAGE)).getDocumentElement())); CxfPayload body = new CxfPayload(new ArrayList(), elements, null); logger.debug("constructed cxfpayload body, "+body); exchange.getIn().setBody(body); logger.debug("set body in exchange"); exchange.getIn().addAttachment(REQ_DOC_CID, new DataHandler(new ByteArrayDataSource(docContent, "UTF-8"))); logger.debug("added attachment to exchange"); //exchange.getIn().setHeader(CxfConstants.OPERATION_NAMESPACE, "http://service.webservices.xdrreceiverimpl.pil.hcit.ge.com";); // exchange.getIn().setHeader(CxfConstants.OPERATION_NAME, "submitCcda"); // logger.debug("added header"); } } ); logger.debug("made the call to cxf endpoint"); logger.debug("has out="+exchange.hasOut()); org.apache.camel.Message response = exchange.getOut(); logger.debug("received the response back, now decode it"); logger.debug("response = "+response); String value = decodeResponseFromPayload((CxfPayload)response.getBody(CxfPayload.class), exchange); logger.debug("value = "+value); body is null in the response so it fails in decodeResponseFromPayload method logs say: 2013-06-04 09:08:05 DEBUG "constructed cxfpayload body, org.apache.camel.component.cxf.CxfPayload headers: []body: [ [http://service.webservices.xdrreceiverimpl.pil.hcit.ge.com/CcdaXdrService";>http://www.w3.org/2004/08/xop/include"; href="cid:cedoc"/>]]" [com.ge.hcit.pil.xdrreceiverimpl.utils.XDRResponseHelper] 2013-06-04 09:08:05 DEBUG "set body in exchange" [com.ge.hcit.pil.xdrreceiverimpl.utils.XDRResponseHelper] 2013-06-04 09:08:05 DEBUG "added attachment to exchange" [com.ge.hcit.pil.xdrreceiverimpl.utils.XDRResponseHelper] 2013-06-04 09:08:06 DEBUG "made the call to cxf endpoint" [com.ge.hcit.pil.xdrreceiverimpl.utils.XDRResponseHelper] 2013-06-04 09:08:06 DEBUG "has out=true" [com.ge.hcit.pil.xdrreceiverimpl.utils.XDRResponseHelper] 2013-06-04 09:08:06 DEBUG "received the response back, now decode it" [com.ge.hcit.pil.xdrreceiverimpl.utils.XDRResponseHelper] 2013-06-04 09:08:06 DEBUG "Creating instance of bean 'org.apache.camel.converter.jaxp.DomConverter'" [org.springframework.beans.factory.support.DefaultListableBeanFactory] 2013-06-04 09:08:06 DEBUG "Finished creating instance of bean 'org.apache.camel.converter.jaxp.DomConverter'" [org.springframework.beans.factory.support.DefaultListableBeanFactory] 2013-06-04 09:08:06 DEBUG "response = Message: org.apache.camel.component.cxf.CxfPayload headers: []body: null" [com.ge.hcit.pil.xdrreceiverimpl.utils.XDRResponseHelper] 2013-06-04 09:08:06 DEBUG "in decodeResponseFromPayload" [com.ge.hcit.pil.xdrreceiverimpl.utils.XDRResponseHelper] 2013-06-04 09:08:06 DEBUG "payload = org.apache.camel.component.cxf.CxfPayload headers: []body: null" [com.ge.hcit.pil.xdrreceiverimpl.utils.XDRResponseHelper] 2013-06-04 09:08:06 INFO "Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@3956267d: startup date [Tue Jun 04 09:08:06 CDT 2013]; root of -- View this message in context: http://camel.465427.n5.nabble.com/the-namespace-on-the-IReportServiceExecuteRequest-element-is-not-a-valid-SOAP-version-tp5284067p5733801.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: the namespace on the "IReportServiceExecuteRequest" element, is not a valid SOAP version
Where did you call the exchange.getOut() ? -- Willem Jiang Red Hat, Inc. FuseSource is now part of Red Hat Web: http://www.fusesource.com | http://www.redhat.com Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) (English) http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese) Twitter: willemjiang Weibo: 姜宁willem On Tuesday, June 4, 2013 at 2:00 AM, sunita wrote: > Hello, > > I am facing same issue. I get the same error - namespace is not a valid SOAP > version. > > I added exchange.hasOut() before calling exchange.getOut(). > > hasOut returned true but getOut returned null headers and body > > Were you able to resolve the issue. > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/the-namespace-on-the-IReportServiceExecuteRequest-element-is-not-a-valid-SOAP-version-tp5284067p5733738.html > Sent from the Camel - Users mailing list archive at Nabble.com > (http://Nabble.com). >
Re: the namespace on the "IReportServiceExecuteRequest" element, is not a valid SOAP version
Hello, I am facing same issue. I get the same error - namespace is not a valid SOAP version. I added exchange.hasOut() before calling exchange.getOut(). hasOut returned true but getOut returned null headers and body Were you able to resolve the issue. -- View this message in context: http://camel.465427.n5.nabble.com/the-namespace-on-the-IReportServiceExecuteRequest-element-is-not-a-valid-SOAP-version-tp5284067p5733738.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: the namespace on the "IReportServiceExecuteRequest" element, is not a valid SOAP version
True, but I do not understand why "out" is empty, whereas the same external endpoint when hit directly fetches response. - Expected from direct invocation outside camel route: http://schemas.xmlsoap.org/soap/envelope/";> http://services.reporting.mycomp.com/2011/10/outputs"; xmlns:ns8="http://services.reporting.mycomp.com/reporting/services";> http://www.w3.org/2001/XMLSchema-instance"; xsi:type="ReportDocumentResponse"> TEst document Received from tracer: Body:http://schemas.xmlsoap.org/soap/envelope/";>soap:VersionMismatch"http://services.reporting.mycomp.com/reporting/services";, the namespace on the "IReportServiceExecuteRequest" element, is not a valid SOAP version. More details of this exception is in previous thread -- View this message in context: http://camel.465427.n5.nabble.com/the-namespace-on-the-IReportServiceExecuteRequest-element-is-not-a-valid-SOAP-version-tp5284067p5376312.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: the namespace on the "IReportServiceExecuteRequest" element, is not a valid SOAP version
Hi See this FAQ about getIn vs getOut http://camel.apache.org/using-getin-or-getout-methods-on-exchange.html Basically check with hasOut() before calling getOut(). On Tue, Jan 24, 2012 at 4:25 PM, sram wrote: > With the help of this forum I was able to overcome my previous issue related > to external webservice invocation. However, as a continuation to the same > problem when a successful response is returned by this external endpoint, I > encounter this error in my camel context. > > I try to Message out = exchange.getOut(); but body is null. Should i not get > my response in OUT of bean:myOutProcessor ? When I directly invoke this > service without camel route, I can get a response for the same payload. Any > pointers to resolve is highly appreciated. > > > http://camel.apache.org/schema/spring";> > > > > > > uri="http://d026ats002268:19080/testServiceClientsWAR/services/myService?throwExceptionOnFailure=false;bridgeEndpoint=true"/> > > > > > > = Exception > 0 PhaseIntercep W org.apache.cxf.phase.PhaseInterceptorChain > doDefaultLogging Interceptor for > {http://services.reporting.mycomp.com/reporting/services}ReportService has > thrown exception, unwinding now > org.apache.cxf.binding.soap.SoapFault: > "http://services.reporting.mycomp.com/reporting/services";, the namespace on > the "IReportServiceExecuteRequest" element, is not a valid SOAP version. > at > org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.readVersion(ReadHeadersInterceptor.java:115) > at > org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:141) > at > org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:60) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263) > at > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:123) > at > org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:207) > at > org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:213) > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:193) > at > org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:126) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:185) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:108) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:164) > at > com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1152) > at > com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:592) > at > com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:526) > at > com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90) > at > com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:764) > at > com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478) > at > com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:133) > at > com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:450) > at > com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:508) > at > com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:296) > at > com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:270) > at > com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214) > at > com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113) > at > com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) > at > com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) > at > com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) > at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) > at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196) > at > com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751) > at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881) > at