If you search back you'll see I worked through some similar
discussions in this area...

I wanted to write one endpoint that could handle SOAP, POX and REST.
With some help I was able to get the SOAP and POX stuff working great,
REST however never seemed to set the properties, I haven't spent much
time looking at that part though...

Basically we have a very heavily annotated endpoint interface and impl
declared in our ApplicationContext like this...

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans";
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
       xmlns:jaxws="http://cxf.apache.org/jaxws";
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
        http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd";>

    <jaxws:endpoint id="soapCurrencyExchange"
                    implementor="#currencyExchangeImpl"
                    bindingUri="http://schemas.xmlsoap.org/soap/";
                    address="/CurrencyExchange.soap"/>

    <jaxws:endpoint id="xmlCurrencyExchange"
                    implementor="#currencyExchangeImpl"
                    bindingUri="http://cxf.apache.org/bindings/xformat";
                    address="/CurrencyExchange.xml"/>

    <jaxws:endpoint id="restCurrencyExchange"
                    implementor="#currencyExchangeImpl"
                    bindingUri="http://apache.org/cxf/binding/http";
                    address="/CurrencyExchange">
        <jaxws:serviceFactory>
            <bean class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean">
                <property name="wrapped" value="true"/>
            </bean>
        </jaxws:serviceFactory>
    </jaxws:endpoint>

</beans>

My endpoint interface defines one method
"getExchangeRate(ExchangeRateRequest)". As I said, the SOAP and POX
mappings worked fine, but I never got REST to work. The method would
be invoked by the properties I had defined in the @HttpResource
annotation would never be set on the ExchangeRateRequest object.

So when I'd annotated it as...
@HttpResource(location="/rates/{fromCurrency},{toCurrency}")
getExchangeRate(ExchangeRateRequest request)

...I'd end up with nulls when I called request.getFromCurrency and
getToCurrency. Again, the method was invoked, the ExchangeRateRequest
object was instantiated, but the properties never got set. Maybe it
can't be a JAXB generated class or something...
On 9/21/07, mattmadhavan <[EMAIL PROTECTED]> wrote:
>
> Hello,
> I am currently working on a project for my current client for all external
> notifications. My requirements are as follows:
>  * Some of my client's partners communicate via Straight HTTP Post - Data
> can be HTTP (I guess I can use REST for this - but not all of them send
> XML!)
> * Some do via SOAP.
>
> This is for a premiums and thats how my client makes his money and I would
> like to give them a robust solution.
>
> I would like to use CXF Servlet (Or straight Spring Dispatcher Servelt)and
> also add Spring MVC controller so that I can add some actions for non-soap
> based communications - be it a XML - or any other data format.
>
> How can I combine these two! XFire had a solution where you use Straight
> Spring Dispatcher Servlet and use a class called XFireExporter bean and have
> a url mapping on the MVC side! (XFireExporter implements a spring
> controller).
>
>
>  The CXF migration says I do not need this as the *ServerFactoryBean takes
> care of this! I am little confused! Any idead where I can map the urls in
> the MVC to controllers including CXF Webservices as XFire did?
>
> Any help will be appreciated.
>
> Thanks
> Matt
> --
> View this message in context: 
> http://www.nabble.com/CXFServlet-%2B-WebServices-%2B-Spring-MVC-tf4498268.html#a12828806
> Sent from the cxf-user mailing list archive at Nabble.com.
>
>

Reply via email to