camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Willem Jiang <willem.ji...@gmail.com>
Subject Re: [Proposal] adding Spring support to camel-cxf component
Date Fri, 28 Sep 2007 10:13:47 GMT
Hi Guillaume,

Oh, I got your means.

I don't want to instantiate the Service from Spring , I just want to 
pass enough endpoint information to build the CXF Service. I check the 
server object code, and I know I can't set the invoker of a already 
created server .
So I changed my proposal  to  use a customized CxfEndpointBean  instead 
of the  already instantiate server object or client object.
Here is the changed example:

<cxf:CxfEndpointBean id= "routerPoint" 
       serviceClass="org.apache.cxf.service.factory.HelloService"
       address="http://localhost:8000/router"
       serviceName="s:XMLService"
       xmlns:s="http://apache.org/hello_world_soap_http"
       endpointName="s:XMLPort" />

<cxf:CxfEndpointBean id= "externalPoint" 
       serviceClass="org.apache.cxf.service.factory.HelloService"
       address="http://localhost:8000/RealService"
       wsdlURL = "wsdl/hello_world"
       serviceName="s:XMLService"
       xmlns:s="http://apache.org/hello_world_soap_http"
       endpointName="s:XMLPort" />

<camelContext id="camel"
xmlns="http://activemq.apache.org/camel/schema/spring">
    <route>
      <from uri="cxf://CxfEndpointBean=routerPoint"/>
      <to uri="cxf://CxfEndpointBean=externalPoint"/>
    </route>
</camelContext>

I will add the ServerFactoryBean and ClientFactoryBean configuration with CxfEndpointBean
code into the cxf component. So we still instantiate the server or the client as we always
do in the CXF component .

Thanks,

Willem.

Guillaume Nodet wrote:
> I'm still very concerned about the fact that we have to instanciate
> the service on the server side if it is not actually used (requests
> are just forwarded).  Can we configure the server to just use a WSDL
> instead ?
>
> On 9/28/07, Willem Jiang <willem.jiang@gmail.com> wrote:
>   
>> Guillaume Nodet wrote:
>>     
>>> On 9/28/07, Willem Jiang <willem.jiang@gmail.com> wrote:
>>>
>>>       
>>>> Here is an example:
>>>> ...
>>>>  <simple:client id="client1"
>>>>     serviceClass="org.apache.cxf.service.factory.HelloService"
>>>>     address="http://localhost:9000/foo2"
>>>>     serviceName="s:XMLService"
>>>>     xmlns:s="http://apache.org/hello_world_soap_http"
>>>>     endpointName="s:XMLPort"
>>>>     bindingId="http://cxf.apache.org/bindings/xformat">
>>>>    </simple:client>
>>>>
>>>> <simple:server id="server1"
>>>> address="http://localhost:8080/simpleWithAddress">
>>>>     <simple:serviceBean>
>>>>       <bean class="org.apache.cxf.service.factory.HelloServiceImpl"/>
>>>>     </simple:serviceBean>
>>>>   </simple:server>
>>>>
>>>> <camelContext id="camel"
>>>> xmlns="http://activemq.apache.org/camel/schema/spring">
>>>>     <route>
>>>>       <from uri="cxf://SpringBean=server1"/>
>>>>       <to uri="cxf://SpringBean=client1"/>
>>>>     </route>
>>>> </camelContext>
>>>>
>>>>
>>>>         
>>> Can you explain a bit what this route is supposed to do ?
>>> Is this supposed to accept requests on
>>>    http://localhost:8080/simpleWithAddress
>>> and route them to an external service on
>>>    http://localhost:9000/foo2
>>>
>>>
>>>
>>>       
>> Yes , it is exactly working as your said.
>> I just omitted the address information from the endpoint URI , because
>> they are already in the Spring bean's configuration.
>>
>> Willem.
>>
>>
>>
>>     
>
>
>   


Mime
View raw message