<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">
<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="https://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
SOAPClient and multipart soap response
</h3>
<span style="margin-bottom: 10px;">
created by <a href="https://community.jboss.org/people/maksrma">Maksym RMA</a> in <i>JBoss ESB Development</i> - <a href="https://community.jboss.org/message/751419#751419">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p>I have SoapClient service for extenal SOAP WS.</p><p>All works great.</p><p>When I set property:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><property name="responseAsOgnlMap" value="true" /></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>I had error processing response, because Content-Type is Content-Type: multipart/related; type="application/xop+xml"</p><p>My environment: </p><p>JBoss 6.1 and esb 4.10</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><strong>Sevice config looks like:</strong></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><action name="proxy" class="com.cs.esb.core.ejb.util.CustomSoapClient"></p><p><span>                                        <property name="wsdl" value="</span><a class="jive-link-external-small" href="http://localhost:8080/myservice?wsdl" target="_blank">http://localhost:8080/myservice?wsdl</a><span>" ></span></p><p>                                                  <http-client-property name="configurators" value="AuthBASIC"/></p><p>                                      <http-client-property name="auth-username" value="xxx"/></p><p>                                      <http-client-property name="auth-password" value="xxx"/></p><p>                                        </property></p><p>                                        <property name="SOAPAction" value="xxx" /></p><p>                                        <property name="responseAsOgnlMap" value="true" /></p><p>                              </action></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><strong>Raw SOAP Response:</strong></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>HTTP/1.1 200 OK</p><p>Server: Apache-Coyote/1.1</p><p>X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1</p><p><span>Content-Type: multipart/related; type="application/xop+xml"; start="<</span><a class="jive-link-email-small" href="mailto:soap.xml@xfire.codehaus.org" target="_blank">soap.xml@xfire.codehaus.org</a><span>>"; start-info="text/xml";             boundary="----=_Part_600_1630724789.1343809898519"</span></p><p>Transfer-Encoding: chunked</p><p>Date: Wed, 01 Aug 2012 08:31:38 GMT</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>7aa</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>------=_Part_600_1630724789.1343809898519</p><p>Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"</p><p>Content-Transfer-Encoding: 8bit</p><p><span>Content-ID: <</span><a class="jive-link-email-small" href="mailto:soap.xml@xfire.codehaus.org" target="_blank">soap.xml@xfire.codehaus.org</a><span>></span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><span><soap:Envelope xmlns:soap="</span><a class="jive-link-external-small" href="http://schemas.xmlsoap.org/soap/envelope/" target="_blank">http://schemas.xmlsoap.org/soap/envelope/</a><span>" xmlns:xsd="</span><a class="jive-link-external-small" href="http://www.w3.org/2001/XMLSchema" target="_blank">http://www.w3.org/2001/XMLSchema</a><span>" xmlns:xsi="</span><a class="jive-link-external-small" href="http://www.w3.org/2001/XMLSchema-instance" target="_blank">http://www.w3.org/2001/XMLSchema-instance</a><span>"><soap:Body></span></p><p>.... correct response data....</p><p></soap:Body></soap:Envelope></p><p>2f</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>------=_Part_600_1630724789.1343809898519--</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>0</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>HTTP/1.1 200 OK</p><p>Server: Apache-Coyote/1.1</p><p>X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1</p><p><span>Content-Type: multipart/related; type="application/xop+xml"; start="<</span><a class="jive-link-email-small" href="mailto:soap.xml@xfire.codehaus.org" target="_blank">soap.xml@xfire.codehaus.org</a><span>>"; start-info="text/xml";             boundary="----=_Part_601_425283758.1343809902329"</span></p><p>Transfer-Encoding: chunked</p><p>Date: Wed, 01 Aug 2012 08:31:42 GMT</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>7a9</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>------=_Part_601_425283758.1343809902329</p><p>Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"</p><p>Content-Transfer-Encoding: 8bit</p><p><span>Content-ID: <</span><a class="jive-link-email-small" href="mailto:soap.xml@xfire.codehaus.org" target="_blank">soap.xml@xfire.codehaus.org</a><span>></span></p><p><span>  <soap:Envelope xmlns:soap="</span><a class="jive-link-external-small" href="http://schemas.xmlsoap.org/soap/envelope/" target="_blank">http://schemas.xmlsoap.org/soap/envelope/</a><span>" xmlns:xsd="</span><a class="jive-link-external-small" href="http://www.w3.org/2001/XMLSchema" target="_blank">http://www.w3.org/2001/XMLSchema</a><span>" xmlns:xsi="</span><a class="jive-link-external-small" href="http://www.w3.org/2001/XMLSchema-instance" target="_blank">http://www.w3.org/2001/XMLSchema-instance</a><span>"><soap:Body><ns1:billerGroupsResponse xmlns:ns1="</span><a class="jive-link-external-small" href="http://upbs.cs.com/" target="_blank">http://upbs.cs.com/</a><span>"></span></p><p>.... correct response data....</p><p></soap:Body></soap:Envelope></p><p>2e</p><p> ------=_Part_601_425283758.1343809902329--</p><p> 0</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><strong>Exception trace is:</strong></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>2012-08-01 12:56:34,443 DEBUG [org.jboss.soa.esb.listeners.message.ActionProcessingPipeline] (pool-37-thread-1) Unexpected exception caught while processing the action pipeline: org.jboss.soa.esb.actions.ActionProcessingException: soapUI Client Service invocation failed.</p><p>          at org.jboss.soa.esb.actions.soap.SOAPClient.process(SOAPClient.java:443)</p><p>          at com.cs.esb.core.ejb.util.CustomSoapClient.process(CustomSoapClient.java:56)</p><p>          at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:649)</p><p>          at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:603)</p><p>          at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:433)</p><p>          at org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:550)</p><p>          at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)</p><p>          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)</p><p>          at java.lang.Thread.run(Thread.java:662)</p><p>Caused by: java.io.IOException: Failed to deserialize the SOAP message template</p><p>          at org.jboss.soa.esb.services.soapui.SoapUIClientService.getDocument(SoapUIClientService.java:704)</p><p>          at org.jboss.soa.esb.services.soapui.SoapUIClientService.mergeSOAPMessage(SoapUIClientService.java:603)</p><p>          at org.jboss.soa.esb.services.soapui.SoapUIClientService.mergeResponseTemplate(SoapUIClientService.java:491)</p><p>          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</p><p>          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)</p><p>          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)</p><p>          at java.lang.reflect.Method.invoke(Method.java:597)</p><p>          at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)</p><p>          at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)</p><p>          at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)</p><p>          at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:271)</p><p>          at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:670)</p><p>          at org.jboss.soa.esb.actions.soap.MBeanSoapUIInvoker.mergeResponseTemplate(MBeanSoapUIInvoker.java:207)</p><p>          at com.cs.esb.core.ejb.util.CustomSoapClient$CustomSoapUIInvoker.mergeResponseTemplate(CustomSoapClient.java:107)</p><p>          at org.jboss.soa.esb.actions.soap.SOAPClient.process(SOAPClient.java:440)</p><p>          ... 8 more</p><p>Caused by: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '-' (code 45) in prolog; expected '<'</p><p> at [row,col {unknown-source}]: [2,1]</p><p>          at com.ctc.wstx.sr.StreamScanner.throwUnexpectedChar(StreamScanner.java:648)</p><p>          at com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2047)</p><p>          at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1069)</p><p>          at com.ctc.wstx.evt.WstxEventReader.nextEvent(WstxEventReader.java:196)</p><p>          at com.ctc.wstx.evt.WstxEventWriter.add(WstxEventWriter.java:230)</p><p>          at org.jboss.internal.soa.esb.util.XMLHelper.copyXMLEventStream(XMLHelper.java:344)</p><p>          at org.jboss.internal.soa.esb.util.XMLHelper.copyXMLEventStream(XMLHelper.java:316)</p><p>          at org.jboss.internal.soa.esb.util.XMLHelper.createDocument(XMLHelper.java:646)</p><p>          at org.jboss.soa.esb.services.soapui.SoapUIClientService.getDocument(SoapUIClientService.java:702)</p><p>          ... 22 more</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>I found as sulution to override SOAPClient class and SoapUIInvoker inside. In method SoapUIInvoker.mergeResponseTemplate I parse response handly... it's terrible but I haven't any outher ideas.</p><p>Please help....</p></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Reply to this message by <a href="https://community.jboss.org/message/751419#751419">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss ESB Development at <a href="https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2032">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>