camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Richard Kettelerij (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (CAMEL-3105) Contribution: Spring Web Services component
Date Mon, 06 Sep 2010 19:43:40 GMT

    [ https://issues.apache.org/activemq/browse/CAMEL-3105?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=61700#action_61700
] 

Richard Kettelerij edited comment on CAMEL-3105 at 9/6/10 3:42 PM:
-------------------------------------------------------------------

Thanks for commenting. Willem, in response to your questions:

1. Current camel trunk supports JDK 1.5, I saw your pom.xml was setting the target source
to 1.6. Can this module be built with JDK 1.5 ?

The source is 1.5 compatible. The only reason that 1.6 is set in pom.xml is that I'm using
the embedded HTTPServer from Java 6 for testing the consumer. So it only applies to the consumer
branch, the master/trunk has no Java 6 dependency. I'll see if I can use an alternative for
this HTTPServer. I guess Java 6 also isn't allowed in unit tests?

2. I found the SpringWebserviceProducer only took the source object, do you have plan to support
sending and receiving POJO ?

This is by design actually. Since Camel already supports object (un)marshalling through JAXB
and XStream I thought of letting Camel handle to POJO to Source transformation like this:

{code}
from("direct:pojo-service").marshall().jaxb().to("springws:http://somehost/myservice")
{code}

I like this approach the most, however I have yet to try it out. If for some reasons this
isn't possible then POJO support can always be implemented through Spring's OXM. But I don't
think that is necessary. 

3. Please try to use the camel 2.4.0 or camel 2.5 snapshot when you develop this component,
it will make us easy to merge it into camel trunk.

I'll upgrade to 2.5 snapshot.

      was (Author: rkettelerij):
    Thanks for commenting. William, in response to your questions:

1. Current camel trunk supports JDK 1.5, I saw your pom.xml was setting the target source
to 1.6. Can this module be built with JDK 1.5 ?

The source is 1.5 compatible. The only reason that 1.6 is set in pom.xml is that I'm using
the embedded HTTPServer from Java 6 for testing the consumer. So it only applies to the consumer
branch, the master/trunk has no Java 6 dependency. I'll see if I can use an alternative for
this HTTPServer. I guess Java 6 also isn't allowed in unit tests?

2. I found the SpringWebserviceProducer only took the source object, do you have plan to support
sending and receiving POJO ?

This is by design actually. Since Camel already supports object (un)marshalling through JAXB
and XStream I though of letting Camel handle to POJO to Source transformation like this:

{code}
from("direct:pojo-service").marshall().jaxb().to("springws:http://somehost/myservice")
{code}

I like this approach the most, however I have yet to try it out. If for some reasons this
isn't possible then POJO support can always be implemented through Spring's OXM. But I don't
think that is necessary. 

3. Please try to use the camel 2.4.0 or camel 2.5 snapshot when you develop this component,
it will make us easy to merge it into camel trunk.

I'll upgrade to 2.5 snapshot.
  
> Contribution: Spring Web Services component
> -------------------------------------------
>
>                 Key: CAMEL-3105
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3105
>             Project: Apache Camel
>          Issue Type: New Feature
>    Affects Versions: 2.3.0
>            Reporter: Richard Kettelerij
>             Fix For: Future
>
>
> I'd like to contribute a component I've developed to Apache Camel that adds support for
Spring Web Services. The component is Apache 2.0 licensed - as is Spring-WS - and available
from: http://github.com/rkettelerij/camel-spring-ws. Note that I'll happily remove this repo
if and once the component is added to Camel's codebase.
> Currently the component only offers producer support (with help of Spring's WebServiceTemplate).
I'm busy developing consumer support that allows you to express Spring-WS endpoint mappings
through Camel uri's. This is coming along nicely and I'm hoping to release a tested version
soon. Development can be tracked in this branch: http://github.com/rkettelerij/camel-spring-ws/tree/consumer/
> Examples (producer only):
> 1) Route message to webservice:
> {code}
> from("direct:myservice").to("springws:http://somehost/myservice")
> {code}
> 2) Configuration through url options (e.g SOAP action and WS-Addressing):
> {code}
> from("direct:myservice").to("springws:http://somehost/myservice?soapAction=http://somehost/foo&wsAddressingAction=http://somehost/bar")
> {code}
> 3) The components allows you to use the full power of Spring-WS client support by referencing
a WebServiceTemplate in the Registry (ApplicationContext):
> {code}
> from("direct:myservice").to("springws:http://somehost/myservice?webServiceTemplate=#webServiceTemplate")
> {code}
> If you only want to use a custom message sender or message factory (e.g for Axiom messages)
you can use:
> {code}
> from("direct:myservice").to("springws:http://somehost/myservice?messageFactory=#messageFactory&messageSender=#messageSender")
> {code}
> I'm open to any suggestions/comments/etc.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message