Hi, Have you tried PAYLOAD mode?
I don't know which JBOSS FUSE version will contain Camel 2.17 (that one is pretty new). Anyway, I noticed yesterday that there is a bug in the 2.17.0 MIME-Multipart decoder that will prevent your multipart from being processed (because the attachment doesn't have a filename). I am just in the process of fixing that bug... Best regards Stephan -----Original Message----- From: ekta.v.wadhw...@accenture.com [mailto:ekta.v.wadhw...@accenture.com] Sent: Freitag, 8. April 2016 09:58 To: users@camel.apache.org; d...@camel.apache.org Subject: Re: Apache camel mime-multipart usage and examples? Stephan, I am using JBOSS FUSE version 8.1.0.GA which supports maximum camel core version : 2.15.0. So i would not be able to use 2.17.0. To your point on CXF-endpoint, yes i am using CXF endpoint to invoke a webservice which provides SOAP response with attachments. However using Spring XML-DSL I can only invoke webservice using dataFormat as Message. My configuration looks like below: <cxf:cxfEndpoint id="uploadFileToUcmEndpoint" address="https://fin-aufsn4x0cba.oracleoutsourcing.com:443/publicFinancialCommonErpIntegration/ErpIntegrationService"<https://fin-aufsn4x0cba.oracleoutsourcing.com/publicFinancialCommonErpIntegration/ErpIntegrationService%22> wsdlURL="src/main/resources/ERP1.wsdl" serviceClass="com.oracle.xmlns.apps.financials.commonmodules.shared.model.erpintegrationservice.ErpIntegrationService" xmlns:ssp="http://xmlns.oracle.com/oxp/service/v2"><http://xmlns.oracle.com/oxp/service/v2%22%3E> <cxf:properties> <entry key="dataFormat" value="MESSAGE" /> </cxf:properties> </cxf:cxfEndpoint> (1) dataFormat=Message:- doesnot provides raw response and DOESNOT understand/automatically process the SOAPEnvelopeResponse + Attachments. hence i have to process it manually somehow. 1 option i found is using mime-multiparts dataformat. but couldnt try ttest because jboss fuse isnt supporting camel 2.17.0 (2) dataFormat=CXF_MEssage:- This DOES automatic parsing of SOAPEnvelopeREsponse + Attachments. However i couldnt even get the response from webservice using this dataFormat. I ended up with following error using CXF_MEssage: CXF configuration: <cxf:cxfEndpoint id="uploadFileToUcmEndpoint" address="https://fin-aufsn4x0cba.oracleoutsourcing.com:443/publicFinancialCommonErpIntegration/ErpIntegrationService"<https://fin-aufsn4x0cba.oracleoutsourcing.com/publicFinancialCommonErpIntegration/ErpIntegrationService%22> wsdlURL="src/main/resources/ERP1.wsdl" serviceClass="com.oracle.xmlns.apps.financials.commonmodules.shared.model.erpintegrationservice.ErpIntegrationService" xmlns:ssp="http://xmlns.oracle.com/oxp/service/v2"><http://xmlns.oracle.com/oxp/service/v2%22%3E> <cxf:properties> <entry key="dataFormat" value="CXF_MESSAGE" /> </cxf:properties> </cxf:cxfEndpoint> Error with CXF_MESSAGE: In this above confguration if i change dataformat from Message to CXF_MESSAGE, i am getting below error: default-workqueue-1] PhaseInterceptorChain WARN Interceptor for {http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/}ErpIntegrationServiceService#{http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/}uploadFileToUcm has thrown exception, unwinding now org.apache.cxf.interceptor.Fault: Couldn't find MIME boundary: ------=_Part_3434_428158164.1459969427807 at org.apache.cxf.interceptor.AttachmentInInterceptor.handleMessage(AttachmentInInterceptor.java:60) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307) at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:784) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1644) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:1155) at org.apache.cxf.workqueue.AutomaticWorkQueueImpl$3.run(AutomaticWorkQueueImpl.java:428) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.cxf.workqueue.AutomaticWorkQueueImpl$AWQThreadFactory$1.run(AutomaticWorkQueueImpl.java:353) at java.lang.Thread.run(Thread.java:745) Possible reason that i suspect is: The webservice responds in MULTIPARTS(SOAPENvelope in 1 part + Attachments in 2nd part) for which i may have to configure serviceInterfaceStrategy as specified in this link: http://camel.apache.org/soap.html Again for this there is no online help/guide how to configure serviceInterfaceStrategy. hence i cudnt succeed here as well. I suspect, Had my webservice responded in plain xml with no Multipart content, CXF_MEssage wud hv worked without the above error. Problem here is with Multiparts. hence i chose to use raw option(i.e, dataformat=Message). (3) What next? -> Can you help with the proper complete example of - Configuring serviceInterfaceStrategy? - OR processing Manually the Multiparts response using some apache camel component? - OR do u know if some version of jboss fuse supports camel core of 2.17.0 so that i can install that and try use mime-multipart - OR anything else that u think could help me with a simple requirement: Processing SOAP Multiparts response using APache CXF or any other APAche camel components Thanks in advance. Ekta -----Original Message----- Hi, Which camel version are you using? MIME-Multipart is only available starting Camel 2.17.0. I am not 100% sure, but your response looks somewhat like SOAP with attachments or MTOM. If you are using some kind of Camel-CXF endpoint for receiving it, the endpoint might parse it for you. Best regards Stephan -----Original Message----- ________________________________ From: Wadhwani, Ekta V. Sent: Thursday, April 7, 2016 12:18 PM To: users@camel.apache.org; d...@camel.apache.org Subject: Apache camel mime-multipart usage and examples? Hi Team, Jboss Fuse Studio : Version: 8.1.0.GA Jdk version: 1.8.0_73 Using XML DSL Scenario: Webservice SOAP response is received in multiparts as below: response : ------=_Part_4706_434840889.1459343688908 Content-Type: application/xop+xml;charset=UTF-8;type="text/xml" Content-Transfer-Encoding: 8bit Content-ID: <e0946c95-9d0d-40ba-8416-0528bfcb4aa9> <?xml version="1.0" encoding="UTF-8" ?> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing"><env:Header><wsa:Action> http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService//ErpIntegrationService/downloadESSJobExecutionDetailsResponse</wsa:Action><wsa:MessageID>urn:uuid:82d7d264-ef7f-41da-8d51-79e940413b13</wsa:MessageID></env:Header><env:Body><ns0:downloadESSJobExecutionDetailsResponse xmlns:ns0=" http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/types/"><ns2:result xmlns:ns2=" http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/types/" xmlns:ns1="http://xmlns.oracle.com/adf/svc/types/" xmlns:ns0=" http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns0:DocumentDetails"><ns0:Content><xop:Include xmlns:xop=" http://www.w3.org/2004/08/xop/include" href="cid:51e0b71c-160b-4921-a8a7-8fe7f87ccc3b"/></ns0:Content><ns0:FileName xsi:nil="true"/><ns0:ContentType>zip</ns0:ContentType><ns0:DocumentTitle>ESS_L_157463</ns0:DocumentTitle><ns0:DocumentAuthor>G4S.Integration.User</ns0:DocumentAuthor><ns0:DocumentSecurityGroup>Attachments</ns0:DocumentSecurityGroup><ns0:DocumentAccount xsi:nil="true"/><ns0:DocumentName>157463.zip</ns0:DocumentName><ns0:DocumentId xsi:nil="true"/></ns2:result></ns0:downloadESSJobExecutionDetailsResponse></env:Body></env:Envelope> ------=_Part_4706_434840889.1459343688908 Content-Transfer-Encoding: binary Content-ID: <51e0b71c-160b-4921-a8a7-8fe7f87ccc3b> PK157463.log?XKS?8??W??????jTL? .. blah blah some binary content ------=_Part_4706_434840889.1459343688908-- Can i use apache camel mime-multipart to process this soap response http://camel.apache.org/mime-multipart.html As mentioned in this document, i have included the dependency. however i am not able to declare this dataFormat in <dataFormats> element. Can you please help guide with some example using" XML DSL" ? There is no example available online. Thanks, Ekta ________________________________ This message is for the designated recipient only and may contain privileged, proprietary, or otherwise confidential information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the e-mail by you is prohibited. Where allowed by local law, electronic communications with Accenture and its affiliates, including e-mail and instant messaging (including content), may be scanned by our systems for the purposes of information security and assessment of internal compliance with Accenture policy. ______________________________________________________________________________________ www.accenture.com