Camel
  1. Camel
  2. CAMEL-5724

Spring-WS consumer and producer do not propagate some custome headers and attachements to a response message

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.10.1
    • Fix Version/s: 2.11.0
    • Component/s: camel-spring-ws
    • Labels:
    • Patch Info:
      Patch Available
    • Estimated Complexity:
      Unknown

      Description

      Hi!

      I wanted to send back as response or as a request some soap messages with modified header.

      I found out that SpringWebserviceProducer and SpringWebserviceConsumer do not populate a soap header for any outgoing message from a camel exchange.

      In the attachments I am sending you a patch against camel-spring-ws 2.10.1 that solves this issue.

      Please let me know, what do you think about it.

      Best regards,
      Andrej

        Activity

        Hide
        Claus Ibsen added a comment -

        Thanks for the patch.

        Do you mind adding a patch for an unit test as well. We would like to have test coverage of changes to the code base.

        Show
        Claus Ibsen added a comment - Thanks for the patch. Do you mind adding a patch for an unit test as well. We would like to have test coverage of changes to the code base.
        Hide
        Andrej Zachar added a comment -

        Sure, I try to provide you some!

        Show
        Andrej Zachar added a comment - Sure, I try to provide you some!
        Hide
        Willem Jiang added a comment -

        Hi,

        In Camel we have HeaderFilterStrategy[1] to help use to deal with the inbound or outbound message headers.
        I think we can do the same thing in Spring-WS component.

        [1]http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/impl/DefaultHeaderFilterStrategy.html

        Willem

        Show
        Willem Jiang added a comment - Hi, In Camel we have HeaderFilterStrategy [1] to help use to deal with the inbound or outbound message headers. I think we can do the same thing in Spring-WS component. [1] http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/impl/DefaultHeaderFilterStrategy.html Willem
        Hide
        Andrej Zachar added a comment -

        Hi Willem,
        do you mean usage similar to cxf, e.g. like this:

        <bean id="customMessageFilterStrategy" class="org.apache.camel.component.cxf.common.header.CxfHeaderFilterStrategy">
        <property name="messageHeaderFilters">
        <list>
        <!-- SoapMessageHeaderFilter is the built in filter. It can be removed by omitting it. -->
        <bean class="org.apache.camel.component.cxf.common.header.SoapMessageHeaderFilter"/>

        <!-- Add custom filter here -->
        <bean class="org.apache.camel.component.cxf.soap.headers.CustomHeaderFilter"/>
        </list>
        </property>
        </bean>

        source: http://camel.apache.org/cxf.html

        Show
        Andrej Zachar added a comment - Hi Willem, do you mean usage similar to cxf, e.g. like this: <bean id="customMessageFilterStrategy" class="org.apache.camel.component.cxf.common.header.CxfHeaderFilterStrategy"> <property name="messageHeaderFilters"> <list> <!-- SoapMessageHeaderFilter is the built in filter. It can be removed by omitting it. --> <bean class="org.apache.camel.component.cxf.common.header.SoapMessageHeaderFilter"/> <!-- Add custom filter here --> <bean class="org.apache.camel.component.cxf.soap.headers.CustomHeaderFilter"/> </list> </property> </bean> source: http://camel.apache.org/cxf.html
        Hide
        Andrej Zachar added a comment - - edited

        Hi Wilem,
        I guess that as the same way as you suggest to handle the header support can be handled an attachment one. E.g. attachments beside headers are not passed from the Exchange instance into the WebServiceMessage [1][2].

        Therefore I suggest to create a new endpoint param called "filterFactory" were you can provide a filter (for instance a sprig bean) that will filter WebServiceMessage in SpringWebserviceConsumer [1] and SpringWebserviceProducer [2] in order to provide exchange data into spring's WebServiceMessage.

        Than for example will be very easy to provide MTOM attachments support or just a simple text attachments support.

        I am actually working on this solution, thus I can provide you patch if you are interested. Only problem what I see how to test it.
        You know, your current test suites contain tests suitable for testing of Exchange's results, nor WebServiceMessage results.

        That is why the test consumeStockQuoteWebserviceInOnly [3] is working even though there is no real implementation of the headers processing. For instance header foo is obtained from exchange only!

        [1] http://svn.apache.org/repos/asf/camel/tags/camel-2.10.1/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java
        [2] http://svn.apache.org/repos/asf/camel/tags/camel-2.10.1/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceProducer.java
        [3] http://svn.apache.org/repos/asf/camel/tags/camel-2.10.1/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/ProducerLocalRouteTest.java

        Best regards,
        Andrej

        Show
        Andrej Zachar added a comment - - edited Hi Wilem, I guess that as the same way as you suggest to handle the header support can be handled an attachment one. E.g. attachments beside headers are not passed from the Exchange instance into the WebServiceMessage [1] [2] . Therefore I suggest to create a new endpoint param called "filterFactory" were you can provide a filter (for instance a sprig bean) that will filter WebServiceMessage in SpringWebserviceConsumer [1] and SpringWebserviceProducer [2] in order to provide exchange data into spring's WebServiceMessage. Than for example will be very easy to provide MTOM attachments support or just a simple text attachments support. I am actually working on this solution, thus I can provide you patch if you are interested. Only problem what I see how to test it. You know, your current test suites contain tests suitable for testing of Exchange's results, nor WebServiceMessage results. That is why the test consumeStockQuoteWebserviceInOnly [3] is working even though there is no real implementation of the headers processing. For instance header foo is obtained from exchange only! [1] http://svn.apache.org/repos/asf/camel/tags/camel-2.10.1/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java [2] http://svn.apache.org/repos/asf/camel/tags/camel-2.10.1/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceProducer.java [3] http://svn.apache.org/repos/asf/camel/tags/camel-2.10.1/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/ProducerLocalRouteTest.java Best regards, Andrej
        Hide
        Willem Jiang added a comment -

        Hi Andrej,

        The HeaderFilterStrategy can be apply to component or endpoint. The setting on the endpoint can override the setting on the component.

        For the testing, it could be easy to write an unit test if you use the real WS client server to verify the wired soap message.

        Willem

        Show
        Willem Jiang added a comment - Hi Andrej, The HeaderFilterStrategy can be apply to component or endpoint. The setting on the endpoint can override the setting on the component. For the testing, it could be easy to write an unit test if you use the real WS client server to verify the wired soap message. Willem
        Hide
        Andrej Zachar added a comment -

        Dear Willem and Claus,

        I have created support for a header and attachments propagation into the Spring's WebServiceMessage. It is based on our previous conversation, at least I hope so

        Please let me know what do you think about it.

        Looking forward to hearing from you!
        Your camel rider Andrej

        Show
        Andrej Zachar added a comment - Dear Willem and Claus, I have created support for a header and attachments propagation into the Spring's WebServiceMessage. It is based on our previous conversation, at least I hope so Please let me know what do you think about it. Looking forward to hearing from you! Your camel rider Andrej
        Hide
        Willem Jiang added a comment -

        Hi Andrej

        You patch looks good, I just applied it into trunk and fix some CS related issue.
        Please update the wiki page if you have time.

        Willem

        Show
        Willem Jiang added a comment - Hi Andrej You patch looks good, I just applied it into trunk and fix some CS related issue. Please update the wiki page if you have time. Willem
        Hide
        Andrej Zachar added a comment -

        Hi Willem,
        thanks for your integration. I try to look at the wiki to update the doc.

        Have a nice day!

        Andrej

        Show
        Andrej Zachar added a comment - Hi Willem, thanks for your integration. I try to look at the wiki to update the doc. Have a nice day! Andrej
        Hide
        Babak Vahdat added a comment -

        The deal was to provide test(s) as well so that we've got test coverage of the changes to the code base however the patch being applied into the trunk lacks this.

        Show
        Babak Vahdat added a comment - The deal was to provide test(s) as well so that we've got test coverage of the changes to the code base however the patch being applied into the trunk lacks this.
        Hide
        Andrej Zachar added a comment -

        As I promised, I will provide them. There is no questions about it

        Show
        Andrej Zachar added a comment - As I promised, I will provide them. There is no questions about it
        Hide
        Babak Vahdat added a comment -

        Thanks.

        Show
        Babak Vahdat added a comment - Thanks.
        Hide
        Andrej Zachar added a comment - - edited

        Hi!
        In the mean time I have also found few issues.

        1. The method createEndpoint in SpringWebserviceComponent needs to updated. The order of calling methods needs to be changed as follows

        configureMessageFilter(parameters, configuration);
        setProperties(configuration, parameters);

        instead of

        setProperties(configuration, parameters);
        configureMessageFilter(parameters, configuration);

        Otherwise messageFilter parameters from the endpoint URI are removed before they are processed.

        2. The bad spelling
        Also there is one bad spelling in the class BasicFilterStrategy instead of
        processHeaderAndAttachemtns should be processHeaderAndAttachments.

        As I said I am working on tests and doc. I will let you know, when it will be ready.

        Cheers,
        Andrej

        Show
        Andrej Zachar added a comment - - edited Hi! In the mean time I have also found few issues. 1. The method createEndpoint in SpringWebserviceComponent needs to updated. The order of calling methods needs to be changed as follows configureMessageFilter(parameters, configuration); setProperties(configuration, parameters); instead of setProperties(configuration, parameters); configureMessageFilter(parameters, configuration); Otherwise messageFilter parameters from the endpoint URI are removed before they are processed. 2. The bad spelling Also there is one bad spelling in the class BasicFilterStrategy instead of processHeaderAndAttachemtns should be processHeaderAndAttachments. As I said I am working on tests and doc. I will let you know, when it will be ready. Cheers, Andrej
        Hide
        Babak Vahdat added a comment - - edited

        Thanks for the status update!

        Just a side note: IMHO including the unit-tests together with the same patch fixing a given problem (beyond others) has the positive side effect that all of us for sure know that the patch works/behaves as expected. Now given this concrete case, you would again need to provide a patch for your applied patch so that

        configureMessageFilter(parameters, configuration); 
        

        is called at the right place!

        Once again thanks for your engagement.

        Show
        Babak Vahdat added a comment - - edited Thanks for the status update! Just a side note: IMHO including the unit-tests together with the same patch fixing a given problem (beyond others) has the positive side effect that all of us for sure know that the patch works/behaves as expected. Now given this concrete case, you would again need to provide a patch for your applied patch so that configureMessageFilter(parameters, configuration); is called at the right place! Once again thanks for your engagement.
        Hide
        Andrej Zachar added a comment -

        Hello All!

        I have prepared the doc for the patch.

        Because I do not have approchiate rights to provide an update for wiki, I'm sending it here. I hope it is ok, if not, let me know what is the right process to do it.

        The Doc Update
        ===============

        Add a brand new paragraph on the wiki page http://camel.apache.org/spring-web-services.html

        The header and attachment propagation
        =====================================
        Spring WS Camel supports propagation of the headers and attachments into Spring-WS WebServiceMessage response since version 2.10.4+.
        The endpoint will use so called "hook" the MessageFilter (default implementation is provided by BasicMessageFilter) to propagate the exchange headers and attachments into WebSdrviceMessage response.

        Now you can use
        exchange.getOut().getHeaders().put("myCustom","myHeaderValue")
        exchange.getIn().addAttachment("myAttachment", new DataHandler(...))

        Note: If the exchange header in the pipeline contains text, it generates Qname(key)=value attribute in the soap header.
        Recommended is to create a QName class directly and put into any key into header.

        How to use MTOM attachments
        ============================
        The BasicMessageFilter provides all required information for Apache Axiom in order to produce MTOM message. If you want to use Apache Camel Spring WS within Apache Axiom, here is an example:

        1. Simply define the messageFactory as is bellow and spring-ws will use MTOM strategy to populate your SOAP message with optimized attachments.

        <bean id="axiomMessageFactory"
        class="org.springframework.ws.soap.axiom.AxiomSoapMessageFactory">
        <property name="payloadCaching" value="false" />
        <property name="attachmentCaching" value="true" />
        <property name="attachmentCacheThreshold" value="1024" />
        </bean>

        2. Add into your pom.xml the following dependencies

        <dependency>
        <groupId>org.apache.ws.commons.axiom</groupId>
        <artifactId>axiom-api</artifactId>
        <version>1.2.13</version>
        </dependency>
        <dependency>
        <groupId>org.apache.ws.commons.axiom</groupId>
        <artifactId>axiom-impl</artifactId>
        <version>1.2.13</version>
        <scope>runtime</scope>
        </dependency>

        3. Add your attachment into the pipeline, for example using a Processor implementation.

        private class Attachement implements Processor {
        public void process(Exchange exchange) throws Exception

        { exchange.getOut().copyFrom(exchange.getIn()); File file = new File("testAttachment.txt"); exchange.getOut().addAttachment("test", new DataHandler(new FileDataSource(file))); }

        }

        4. Define endpoint (producer) as ussual, for example like this:
        from("direct:send")
        .process(new Attachement())
        .to("spring-ws:http://localhost:8089/mySoapService?soapAction=mySoap&messageFactory=axiomMessageFactory");

        5. Now, your producer will generate MTOM message with otpmized attachments.

        The custom header and attachment filtering
        ==========================================
        If you need to provide your custome processing of either headers or attachments, extend existing BasicMessageFilter and override the approchiate methods or write a brand new implementation of the MessageFilter interface.
        To use your custom filter, add this into your spring context:

        You can specify either a global a or a local message filter as follows:

        a) the global custome filter that provides the global configuration for all spring-ws endpoints
        <bean id="messageFilter" class="your.domain.myMessageFiler" scope="singleton" />

        or

        b) the local messageFilter directly on the endpoint as follows:
        to("spring-ws:http://yourdomain.com?messageFilter=#<myEndpointSpecificMessageFilter>");

        For more information see https://issues.apache.org/jira/browse/CAMEL-5724

        If you want to create your own MessageFilter, consider overrideing the following methods in the default implementation of MessageFilter in class BasicMessageFilter:

        protected void doProcessSoapHeader(Message inOrOut, SoapMessage soapMessage)

        {your code /*no need to call super*/ }

        protected void doProcessSoapAttachements(Message inOrOut, SoapMessage response)

        { your code /*no need to call super*/ }

        Update the existing table at wiki page http://camel.apache.org/spring-web-services.html and add the following new row:

        Registry based options
        =======================
        messageFilter No Option to provide a custom MessageFilter since 2.10.4. For example when you want to process your headers or attachments by your own.

        Attachments processing using Axiom will produce message with attachment out of box. You just need to provide

        PS: Babak I will send tests and patch together soon. Should I create the final patch agains trunk or agains the branch 2.10.3 where I have initially developed this solution?

        Show
        Andrej Zachar added a comment - Hello All! I have prepared the doc for the patch. Because I do not have approchiate rights to provide an update for wiki, I'm sending it here. I hope it is ok, if not, let me know what is the right process to do it. The Doc Update =============== Add a brand new paragraph on the wiki page http://camel.apache.org/spring-web-services.html The header and attachment propagation ===================================== Spring WS Camel supports propagation of the headers and attachments into Spring-WS WebServiceMessage response since version 2.10.4+. The endpoint will use so called "hook" the MessageFilter (default implementation is provided by BasicMessageFilter) to propagate the exchange headers and attachments into WebSdrviceMessage response. Now you can use exchange.getOut().getHeaders().put("myCustom","myHeaderValue") exchange.getIn().addAttachment("myAttachment", new DataHandler(...)) Note: If the exchange header in the pipeline contains text, it generates Qname(key)=value attribute in the soap header. Recommended is to create a QName class directly and put into any key into header. How to use MTOM attachments ============================ The BasicMessageFilter provides all required information for Apache Axiom in order to produce MTOM message. If you want to use Apache Camel Spring WS within Apache Axiom, here is an example: 1. Simply define the messageFactory as is bellow and spring-ws will use MTOM strategy to populate your SOAP message with optimized attachments. <bean id="axiomMessageFactory" class="org.springframework.ws.soap.axiom.AxiomSoapMessageFactory"> <property name="payloadCaching" value="false" /> <property name="attachmentCaching" value="true" /> <property name="attachmentCacheThreshold" value="1024" /> </bean> 2. Add into your pom.xml the following dependencies <dependency> <groupId>org.apache.ws.commons.axiom</groupId> <artifactId>axiom-api</artifactId> <version>1.2.13</version> </dependency> <dependency> <groupId>org.apache.ws.commons.axiom</groupId> <artifactId>axiom-impl</artifactId> <version>1.2.13</version> <scope>runtime</scope> </dependency> 3. Add your attachment into the pipeline, for example using a Processor implementation. private class Attachement implements Processor { public void process(Exchange exchange) throws Exception { exchange.getOut().copyFrom(exchange.getIn()); File file = new File("testAttachment.txt"); exchange.getOut().addAttachment("test", new DataHandler(new FileDataSource(file))); } } 4. Define endpoint (producer) as ussual, for example like this: from("direct:send") .process(new Attachement()) .to("spring-ws: http://localhost:8089/mySoapService?soapAction=mySoap&messageFactory=axiomMessageFactory "); 5. Now, your producer will generate MTOM message with otpmized attachments. The custom header and attachment filtering ========================================== If you need to provide your custome processing of either headers or attachments, extend existing BasicMessageFilter and override the approchiate methods or write a brand new implementation of the MessageFilter interface. To use your custom filter, add this into your spring context: You can specify either a global a or a local message filter as follows: a) the global custome filter that provides the global configuration for all spring-ws endpoints <bean id="messageFilter" class="your.domain.myMessageFiler" scope="singleton" /> or b) the local messageFilter directly on the endpoint as follows: to("spring-ws: http://yourdomain.com?messageFilter=# <myEndpointSpecificMessageFilter>"); For more information see https://issues.apache.org/jira/browse/CAMEL-5724 If you want to create your own MessageFilter, consider overrideing the following methods in the default implementation of MessageFilter in class BasicMessageFilter: protected void doProcessSoapHeader(Message inOrOut, SoapMessage soapMessage) {your code /*no need to call super*/ } protected void doProcessSoapAttachements(Message inOrOut, SoapMessage response) { your code /*no need to call super*/ } Update the existing table at wiki page http://camel.apache.org/spring-web-services.html and add the following new row: Registry based options ======================= messageFilter No Option to provide a custom MessageFilter since 2.10.4. For example when you want to process your headers or attachments by your own. Attachments processing using Axiom will produce message with attachment out of box. You just need to provide PS: Babak I will send tests and patch together soon. Should I create the final patch agains trunk or agains the branch 2.10.3 where I have initially developed this solution?
        Hide
        Babak Vahdat added a comment -

        PS: Babak I will send tests and patch together soon. Should I create the final patch agains trunk or agains the branch 2.10.3 where I have initially developed this solution?

        Please provide the patch for the trunk but apply the patch locally on your box for the 2.10.x branch as well, and then verify that all tests are still green both on trunk as well as the 2.10.x branch.

        I assume Willem would then backport your patch to the 2.10.x as soon as you attach it to this ticket. Also please make sure that you build using the sourcecheck profile, so that checkstyle is also happy like the unit tests as well For more details see http://camel.apache.org/building.html

        Show
        Babak Vahdat added a comment - PS: Babak I will send tests and patch together soon. Should I create the final patch agains trunk or agains the branch 2.10.3 where I have initially developed this solution? Please provide the patch for the trunk but apply the patch locally on your box for the 2.10.x branch as well, and then verify that all tests are still green both on trunk as well as the 2.10.x branch. I assume Willem would then backport your patch to the 2.10.x as soon as you attach it to this ticket. Also please make sure that you build using the sourcecheck profile, so that checkstyle is also happy like the unit tests as well For more details see http://camel.apache.org/building.html
        Hide
        Willem Jiang added a comment -

        Yeah, the patch which is based on trunk should be OK. I will take care of porting it back to 2.10.x branch.

        Show
        Willem Jiang added a comment - Yeah, the patch which is based on trunk should be OK. I will take care of porting it back to 2.10.x branch.
        Hide
        Andrej Zachar added a comment -

        Hello Willem,
        I am sending you the patch against the branch 2.10.1 including tests, please could you navigate me to eclipse formater, so I can easily format the next patch for the trunk?

        Best regards,
        Andrej

        Show
        Andrej Zachar added a comment - Hello Willem, I am sending you the patch against the branch 2.10.1 including tests, please could you navigate me to eclipse formater, so I can easily format the next patch for the trunk? Best regards, Andrej
        Hide
        Willem Jiang added a comment -

        @Andrej,
        Thanks for you patch.
        If you are using eclipse and using mvn -Psetup.eclipse to create the workspace, the formater should be setup for you.
        I just apply the patch into trunk by removing the one which is patched, and I also fixed all the check style errors in you patch.

        Show
        Willem Jiang added a comment - @Andrej, Thanks for you patch. If you are using eclipse and using mvn -Psetup.eclipse to create the workspace, the formater should be setup for you. I just apply the patch into trunk by removing the one which is patched, and I also fixed all the check style errors in you patch.
        Hide
        Babak Vahdat added a comment -

        We still need documentation of the changes by this ticket:
        http://camel.apache.org/spring-web-services.html

        Show
        Babak Vahdat added a comment - We still need documentation of the changes by this ticket: http://camel.apache.org/spring-web-services.html
        Hide
        Babak Vahdat added a comment -

        Willem the documentation of this ticket is still outstanding. I assume Andrej has not the required Karma to do that, so it would be nice if you could update the Wiki for this.

        Show
        Babak Vahdat added a comment - Willem the documentation of this ticket is still outstanding. I assume Andrej has not the required Karma to do that, so it would be nice if you could update the Wiki for this.
        Hide
        Babak Vahdat added a comment -

        Willem, for the third time I'm kindly asking you to update the Wiki for this ticket as this JIRA has been assigned to you. If for whatever reason you can't or don't want to do this, then please let me know so I'll do it as IMHO it's very important to keep the code base in sync with it's documentation so ppl are aware of the latest and greatest features. For this purpose now I'm reopening this ticket. Thanks!

        Show
        Babak Vahdat added a comment - Willem, for the third time I'm kindly asking you to update the Wiki for this ticket as this JIRA has been assigned to you. If for whatever reason you can't or don't want to do this, then please let me know so I'll do it as IMHO it's very important to keep the code base in sync with it's documentation so ppl are aware of the latest and greatest features. For this purpose now I'm reopening this ticket. Thanks!
        Hide
        Willem Jiang added a comment -

        Hi Babak,

        I'm sorry I didn't go though the comments carefully.
        Thanks for you kindly reminding, I will update the wiki page today.

        Willem

        Show
        Willem Jiang added a comment - Hi Babak, I'm sorry I didn't go though the comments carefully. Thanks for you kindly reminding, I will update the wiki page today. Willem
        Hide
        Willem Jiang added a comment -

        updated the wiki page so we can close the issue now.

        Show
        Willem Jiang added a comment - updated the wiki page so we can close the issue now.
        Hide
        Anatol Lutski added a comment -

        Hi Willem,

        the fix versions for this issue is 2.10.3 and 2.11.0 and it was included in the release notes for 2.10.3 but looks like it wasn't added.

        It's on:
        trunk - https://svn.apache.org/repos/asf/camel/trunk/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/filter/

        But it is absent both on:
        branch 2.10.x - https://svn.apache.org/repos/asf/camel/branches/camel-2.10.x/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/
        and
        tag 2.10.3 - https://svn.apache.org/repos/asf/camel/tags/camel-2.10.3/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/

        Could you please clarify which version should be used to have this functionality.

        Regards, Anatol.

        Show
        Anatol Lutski added a comment - Hi Willem, the fix versions for this issue is 2.10.3 and 2.11.0 and it was included in the release notes for 2.10.3 but looks like it wasn't added. It's on: trunk - https://svn.apache.org/repos/asf/camel/trunk/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/filter/ But it is absent both on: branch 2.10.x - https://svn.apache.org/repos/asf/camel/branches/camel-2.10.x/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/ and tag 2.10.3 - https://svn.apache.org/repos/asf/camel/tags/camel-2.10.3/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/ Could you please clarify which version should be used to have this functionality. Regards, Anatol.
        Hide
        Willem Jiang added a comment -

        Hi Anatol,

        As this JIRA is a kind of new feature, I didn't back port the patch to camel-2.10.x branch.
        I just update the fix version to reflect it.

        Thanks,

        Willem

        Show
        Willem Jiang added a comment - Hi Anatol, As this JIRA is a kind of new feature, I didn't back port the patch to camel-2.10.x branch. I just update the fix version to reflect it. Thanks, Willem

          People

          • Assignee:
            Willem Jiang
            Reporter:
            Andrej Zachar
          • Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development