That's a bit better. But what if your service is not implemented using jaxws ? If you have a BPEL process rather than a pojo ? Or if your service is implemented by multiple small services and you use a CBR using the operation name to dispatch the request ? Or whatever use case one can imagine...
On the consumer side, the role of CXF is to handle SOAP and WS-* stuff. This mainly relies on the WSDL rather than on a POJO. Using the pojo will certainly be handy if using code first approach, but we also need to support wsdl first, and especially when there is no POJO at all... I see the externalEndpoint uses a wsdlURL... (relative to what ?) Can both endpoints use only the WSDL so that the serviceClass becomes optional ? On 9/28/07, Willem Jiang <[EMAIL PROTECTED]> wrote: > 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 <[EMAIL PROTECTED]> wrote: > > > >> Guillaume Nodet wrote: > >> > >>> On 9/28/07, Willem Jiang <[EMAIL PROTECTED]> 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. > >> > >> > >> > >> > > > > > > > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/
