there were two interfaces right with two signatures... one is returning a List and the other one is returning void
the list signature is as follows List<Overrider> getActiveUsers(OverrideRequestor requestor, Overridetransaction transaction). and the other one was void acceptOverrideRequest(OverrideRequestor requestor, OverrideTrasnaction transaction). camel seems to be choosing the second one. i defined a camel cxf:bean component btw and made it a consumer. the thing is, it seems to be choosing the one with the void results causing it to return a [] (empty list) as a return value, when i removed the other method --> acceptOverrideRequest it chose the first one and i'm finally getting a list of overrideusers. thanks On Tue, Jun 1, 2010 at 10:15 PM, Willem Jiang <[email protected]>wrote: > Hi Carlo, > > I was confused, as your customer code can decide to call the getActiveUser > or acceptOverrideRequest method. > > I can't see what's wrong with interface that you defined. > > Willem > > Carlo Camerino wrote: > >> i think i got it now >> >> i think there was an issue with my itnerface naming and binding >> >> it got confused with >> >> public List<Overrider> getActiveUsers(OverrideRequestor requestor, >> OverrideTransaction overrideTransaction); >> >> /** >> * This method accepts an override request coming from an override >> client. >> * The server accepts an override request and comet is notified >> */ >> public void acceptOverrideRequest(OverrideRequestor requestor, >> OverrideTransaction overrideTransaction); >> >> camel was choosing the second one instead of the first one which i needed >> to >> use.... >> >> how do i explicitly declare what method camel should use? >> >> On Tue, Jun 1, 2010 at 4:13 PM, Carlo Camerino <[email protected] >> >wrote: >> >> >>> it's still not working. here' sthe trace logs >>> >>>> Client >>>> >>>> TRACE - ServiceHelper - Starting service: Producer[ >>>> http://localhost:8088/override/override] >>>> DEBUG - CxfProducer - Starting producer: Producer[ >>>> http://localhost:8088/override/override] >>>> DEBUG - ProducerCache - Adding to producer cache with key: >>>> Endpoint[http://localhost:8088/override/override] for producer: >>>> Producer[ >>>> http://localhost:8088/override/override] >>>> TRACE - CxfProducer - Process exchange: Exchange[Message: >>>> [com.ccti.luminous.override.overridereques...@ccc588, >>>> com.ccti.luminous.override.overridetransact...@1bc82e7]] >>>> TRACE - CxfProducer - Set Camel Exchange property: >>>> org.apache.camel.component.cxf.DataFormat=POJO >>>> DEBUG - CxfProducer - Try to find a default operation. >>>> You >>>> should set 'operationName' in header. >>>> TRACE - CxfProducer - Set exchange property: >>>> BindingOperationInfo: [BindingOperationInfo: { >>>> http://override.luminous.ccti.com/}acceptOverrideRequest<http://override.luminous.ccti.com/%7DacceptOverrideRequest> >>>> <http://override.luminous.ccti.com/%7DacceptOverrideRequest> >>>> >>>> ] >>>> TRACE - CxfProducer - Unwrapped BOI >>>> [BindingOperationInfo: >>>> {http://override.luminous.ccti.com/}acceptOverrideRequest<http://override.luminous.ccti.com/%7DacceptOverrideRequest> >>>> <http://override.luminous.ccti.com/%7DacceptOverrideRequest> >>>> >>>> ] >>>> DEBUG - CxfProducer - Try to find a default operation. >>>> You >>>> should set 'operationName' in header. >>>> TRACE - CxfProducer - params[0] = >>>> com.ccti.luminous.override.overridereques...@ccc588 >>>> TRACE - CxfProducer - params[1] = >>>> com.ccti.luminous.override.overridetransact...@1bc82e7 >>>> TRACE - DefaultListableBeanFactory - No bean named >>>> 'org.apache.cxf.ws.policy.PolicyEngine' found in >>>> >>>> org.springframework.beans.factory.support.defaultlistablebeanfact...@b6548 >>>> : >>>> defining beans >>>> >>>> [cxf,org.apache.cxf.bus.spring.BusApplicationListener,org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.resource.ResourceManager,org.apache.cxf.configuration.Configurer,org.apache.cxf.binding.BindingFactoryManager,org.apache.cxf.transport.DestinationFactoryManager,org.apache.cxf.transport.ConduitInitiatorManager,org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.apache.cxf.workqueue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLifeCycleManager,org.apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoint.ServerLifeCycleManager,org.apache.cxf.endpoint.ClientLifeCycleManager,org.apache.cxf.transports.http.QueryHandlerRegistry,org.apache.cxf.endpoint.EndpointResolverRegistry,org.apache.cxf.headers.HeaderManager,org.apache.cxf.catalog.OASISCatalogManager,org.apache.cxf.endpoint.ServiceContractResolverRegistry, >>>> org.apache.camel.co >>>> >>> > mponent.cxf.transport.CamelTransportFactory#0,org.apache.cxf.jaxrs.JAXRSBindingFactory,org.apache.cxf.binding.soap.SoapBindingFactory,org.apache.cxf.binding.soap.SoapTransportFactory,org.apache.cxf.binding.soap.customEditorConfigurer,org.apache.cxf.binding.xml.XMLBindingFactory,org.apache.cxf.jaxws.context.WebServiceContextResourceResolver,org.apache.cxf.jaxws.context.WebServiceContextImpl,org.apache.cxf.management.InstrumentationManager,org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder,org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder,org.apache.cxf.transport.http.policy.NoOpPolicyInterceptorProvider,org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory,org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory,org.apache.cxf.transport.jms.JMSTransportFactory,org.apache.cxf.transport.local.LocalTransportFactory,org.apache.cxf.ws.addressing.policy.AddressingAssertionBuilder,org.apache.cxf.ws.addressing.policy.AddressingPolicyInterceptorPr > > ovider,org.apache.cxf.ws.addressing.policy.UsingAddressingAssertionBuilder]; > >> root of factory hierarchy >>>> TRACE - DefaultListableBeanFactory - No bean named '{ >>>> http://override.luminous.ccti.com/}overrideServerPort.http-conduit<http://override.luminous.ccti.com/%7DoverrideServerPort.http-conduit> >>>> <http://override.luminous.ccti.com/%7DoverrideServerPort.http-conduit>' >>>> >>>> found in >>>> >>>> org.springframework.beans.factory.support.defaultlistablebeanfact...@b6548 >>>> : >>>> defining beans >>>> >>>> [cxf,org.apache.cxf.bus.spring.BusApplicationListener,org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.resource.ResourceManager,org.apache.cxf.configuration.Configurer,org.apache.cxf.binding.BindingFactoryManager,org.apache.cxf.transport.DestinationFactoryManager,org.apache.cxf.transport.ConduitInitiatorManager,org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.apache.cxf.workqueue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLifeCycleManager,org.apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoint.ServerLifeCycleManager,org.apache.cxf.endpoint.ClientLifeCycleManager,org.apache.cxf.transports.http.QueryHandlerRegistry,org.apache.cxf.endpoint.EndpointResolverRegistry,org.apache.cxf.headers.HeaderManager,org.apache.cxf.catalog.OASISCatalogManager,org.apache.cxf.endpoint.ServiceContractResolverRegistry, >>>> org.apache.camel.co >>>> >>> > mponent.cxf.transport.CamelTransportFactory#0,org.apache.cxf.jaxrs.JAXRSBindingFactory,org.apache.cxf.binding.soap.SoapBindingFactory,org.apache.cxf.binding.soap.SoapTransportFactory,org.apache.cxf.binding.soap.customEditorConfigurer,org.apache.cxf.binding.xml.XMLBindingFactory,org.apache.cxf.jaxws.context.WebServiceContextResourceResolver,org.apache.cxf.jaxws.context.WebServiceContextImpl,org.apache.cxf.management.InstrumentationManager,org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder,org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder,org.apache.cxf.transport.http.policy.NoOpPolicyInterceptorProvider,org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory,org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory,org.apache.cxf.transport.jms.JMSTransportFactory,org.apache.cxf.transport.local.LocalTransportFactory,org.apache.cxf.ws.addressing.policy.AddressingAssertionBuilder,org.apache.cxf.ws.addressing.policy.AddressingPolicyInterceptorPr > > ovider,org.apache.cxf.ws.addressing.policy.UsingAddressingAssertionBuilder]; > >> root of factory hierarchy >>>> TRACE - DefaultListableBeanFactory - No bean named ' >>>> http://localhost:8088/override/override' found in >>>> >>>> org.springframework.beans.factory.support.defaultlistablebeanfact...@b6548 >>>> : >>>> defining beans >>>> >>>> [cxf,org.apache.cxf.bus.spring.BusApplicationListener,org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.resource.ResourceManager,org.apache.cxf.configuration.Configurer,org.apache.cxf.binding.BindingFactoryManager,org.apache.cxf.transport.DestinationFactoryManager,org.apache.cxf.transport.ConduitInitiatorManager,org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.apache.cxf.workqueue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLifeCycleManager,org.apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoint.ServerLifeCycleManager,org.apache.cxf.endpoint.ClientLifeCycleManager,org.apache.cxf.transports.http.QueryHandlerRegistry,org.apache.cxf.endpoint.EndpointResolverRegistry,org.apache.cxf.headers.HeaderManager,org.apache.cxf.catalog.OASISCatalogManager,org.apache.cxf.endpoint.ServiceContractResolverRegistry, >>>> org.apache.camel.co >>>> >>> > mponent.cxf.transport.CamelTransportFactory#0,org.apache.cxf.jaxrs.JAXRSBindingFactory,org.apache.cxf.binding.soap.SoapBindingFactory,org.apache.cxf.binding.soap.SoapTransportFactory,org.apache.cxf.binding.soap.customEditorConfigurer,org.apache.cxf.binding.xml.XMLBindingFactory,org.apache.cxf.jaxws.context.WebServiceContextResourceResolver,org.apache.cxf.jaxws.context.WebServiceContextImpl,org.apache.cxf.management.InstrumentationManager,org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder,org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder,org.apache.cxf.transport.http.policy.NoOpPolicyInterceptorProvider,org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory,org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory,org.apache.cxf.transport.jms.JMSTransportFactory,org.apache.cxf.transport.local.LocalTransportFactory,org.apache.cxf.ws.addressing.policy.AddressingAssertionBuilder,org.apache.cxf.ws.addressing.policy.AddressingPolicyInterceptorPr > > ovider,org.apache.cxf.ws.addressing.policy.UsingAddressingAssertionBuilder]; > >> root of factory hierarchy >>>> TRACE - DefaultCxfBinding - Populate exchange from CXF response >>>> message: org.apache.cxf.binding.soap.soapmess...@746bc28f >>>> TRACE - DefaultCxfBinding - Content format=class >>>> java.io.InputStream >>>> value=sun.net.www.protocol.http.httpurlconnection$httpinputstr...@511e0a >>>> TRACE - DefaultCxfBinding - Content format=interface >>>> java.util.List value=[] >>>> TRACE - DefaultCxfBinding - Content format=interface >>>> javax.xml.stream.XMLStreamReader >>>> value=com.ctc.wstx.sr.validatingstreamrea...@18b3e62 >>>> TRACE - DefaultCxfBinding - Content format=interface >>>> org.w3c.dom.Node value=[#document: null] >>>> TRACE - DefaultCxfBinding - Extracted body from CXF message = >>>> [] >>>> TRACE - DefaultCxfBinding - Set header = ResponseContext value >>>> = >>>> {javax.xml.ws.wsdl.port={ >>>> http://override.luminous.ccti.com/}overrideServerPort<http://override.luminous.ccti.com/%7DoverrideServerPort> >>>> <http://override.luminous.ccti.com/%7DoverrideServerPort>, >>>> >>>> org.apache.cxf.service.model.MessageInfo=[MessageInfo OUTPUT: { >>>> http://override.luminous.ccti.com/}acceptOverrideRequestResponse<http://override.luminous.ccti.com/%7DacceptOverrideRequestResponse> >>>> <http://override.luminous.ccti.com/%7DacceptOverrideRequestResponse>], >>>> >>>> org.apache.cxf.client=true, org.apache.cxf.message.inbound=true, >>>> org.apache.cxf.message.Message.PROTOCOL_HEADERS={content-type=[text/xml; >>>> charset=utf-8], Content-Length=[192], Server=[Jetty(6.1.6)]}, >>>> javax.xml.ws.wsdl.service={ >>>> http://override.luminous.ccti.com/}OverrideServerService<http://override.luminous.ccti.com/%7DOverrideServerService> >>>> <http://override.luminous.ccti.com/%7DOverrideServerService>, >>>> >>>> org.apache.cxf.message.Message.ENCODING=UTF-8, >>>> javax.xml.ws.wsdl.interface={ >>>> http://override.luminous.ccti.com/}overrideServer<http://override.luminous.ccti.com/%7DoverrideServer> >>>> <http://override.luminous.ccti.com/%7DoverrideServer>, >>>> >>>> javax.xml.ws.wsdl.operation={ >>>> http://override.luminous.ccti.com/}acceptOverrideRequest<http://override.luminous.ccti.com/%7DacceptOverrideRequest> >>>> <http://override.luminous.ccti.com/%7DacceptOverrideRequest>, >>>> >>>> javax.xml.ws.wsdl.description= >>>> http://localhost:8088/override/override?wsdl, >>>> >>>> org.apache.cxf.service.model.bindingmessageinfo=org.apache.cxf.service.model.bindingmessagei...@d1b72d >>>> , >>>> Content-Type=text/xml; charset=utf-8, >>>> org.apache.cxf.headers.Header.list=[], >>>> org.apache.cxf.message.Message.RESPONSE_CODE=200} >>>> TRACE - DefaultCxfBinding - Populate header from CXF >>>> header=content-type value=[text/xml; charset=utf-8] >>>> TRACE - DefaultCxfBinding - Populate header from CXF >>>> header=Server value=[Jetty(6.1.6)] >>>> TRACE - CxfHeaderFilterStrategy - messageHeaderfilter = >>>> org.apache.camel.component.cxf.soapmessageheaderfil...@b2fb1e >>>> TRACE - DefaultCxfBinding - Populate header from CXF >>>> header=org.apache.cxf.headers.Header.list value=[] >>>> TRACE - Pipeline - Processing exchangeId: >>>> 3e3f6236-051b-4c56-b0e1-70acd2360d06 >>> Exchange[Message: []] >>>> INFO - ClientRoutes - Class Is: class >>>> org.apache.cxf.message.MessageContentsList >>>> Message: [Body is null] >>>> >>>> Server >>>> >>>> TRACE - CxfConsumer - Received CXF Request: >>>> {org.apache.cxf.service.Service=[ServiceImpl { >>>> http://override.luminous.ccti.com/}OverrideServerImplService<http://override.luminous.ccti.com/%7DOverrideServerImplService> >>>> <http://override.luminous.ccti.com/%7DOverrideServerImplService>], >>>> >>>> javax.xml.ws.wsdl.port={ >>>> http://override.luminous.ccti.com/}OverrideServerImplPort<http://override.luminous.ccti.com/%7DOverrideServerImplPort> >>>> <http://override.luminous.ccti.com/%7DOverrideServerImplPort>, >>>> >>>> javax.xml.ws.wsdl.interface={ >>>> http://override.luminous.ccti.com/}overrideServer<http://override.luminous.ccti.com/%7DoverrideServer> >>>> <http://override.luminous.ccti.com/%7DoverrideServer>, >>>> >>>> org.apache.cxf.service.model.OperationInfo=[OperationInfo: { >>>> http://override.luminous.ccti.com/}acceptOverrideRequest<http://override.luminous.ccti.com/%7DacceptOverrideRequest> >>>> <http://override.luminous.ccti.com/%7DacceptOverrideRequest>], >>>> >>>> >>>> java.util.concurrent.executor=org.apache.cxf.workqueue.synchronousexecu...@98b13b >>>> , >>>> javax.xml.ws.wsdl.description=/override?wsdl, >>>> org.apache.cxf.bus=org.apache.cxf.bus.cxfbusi...@16d4b50, >>>> javax.xml.ws.wsdl.service={ >>>> http://override.luminous.ccti.com/}OverrideServerImplService<http://override.luminous.ccti.com/%7DOverrideServerImplService> >>>> <http://override.luminous.ccti.com/%7DOverrideServerImplService>, >>>> >>>> >>>> org.apache.cxf.binding.binding=org.apache.cxf.binding.soap.soapbind...@9bad4f >>>> , >>>> org.apache.cxf.endpoint.Endpoint={serviceClass=#overrideServer, >>>> beanId=overrideServerEndpoint}, >>>> org.apache.cxf.service.model.BindingOperationInfo=[BindingOperationInfo: >>>> { >>>> http://override.luminous.ccti.com/}acceptOverrideRequest<http://override.luminous.ccti.com/%7DacceptOverrideRequest> >>>> <http://override.luminous.ccti.com/%7DacceptOverrideRequest> >>>> >>>> ]} >>>> TRACE - CxfConsumer - Set exchange property: >>>> BindingOperationInfo: [BindingOperationInfo: { >>>> http://override.luminous.ccti.com/}acceptOverrideRequest<http://override.luminous.ccti.com/%7DacceptOverrideRequest> >>>> <http://override.luminous.ccti.com/%7DacceptOverrideRequest> >>>> >>>> ] >>>> TRACE - CxfConsumer - Set Exchange property: >>>> org.apache.camel.component.cxf.DataFormat=POJO >>>> TRACE - DefaultCxfBinding - Set IN header: operationNameSpace= >>>> http://override.luminous.ccti.com/ >>>> TRACE - DefaultCxfBinding - Set IN header: >>>> operationName=acceptOverrideRequest >>>> TRACE - DefaultCxfBinding - Set exchange MEP: InOut >>>> TRACE - DefaultCxfBinding - Populate header from CXF >>>> header=content-type value=[text/xml; charset=UTF-8] >>>> TRACE - DefaultCxfBinding - Populate header from CXF >>>> header=connection value=[keep-alive] >>>> TRACE - DefaultCxfBinding - Populate header from CXF >>>> header=Host >>>> value=[localhost:9090] >>>> TRACE - DefaultCxfBinding - Populate header from CXF >>>> header=SOAPAction value=[""] >>>> TRACE - DefaultCxfBinding - Populate header from CXF >>>> header=User-Agent value=[Apache CXF 2.2.3] >>>> TRACE - DefaultCxfBinding - Populate header from CXF >>>> header=Content-Type value=[text/xml; charset=UTF-8] >>>> TRACE - DefaultCxfBinding - Populate header from CXF >>>> header=Accept value=[*/*] >>>> TRACE - DefaultCxfBinding - Populate header from CXF >>>> header=Pragma value=[no-cache] >>>> TRACE - DefaultCxfBinding - Populate header from CXF >>>> header=Cache-Control value=[no-cache] >>>> TRACE - CxfHeaderFilterStrategy - messageHeaderfilter = >>>> org.apache.camel.component.cxf.soapmessageheaderfil...@1342f5b >>>> TRACE - DefaultCxfBinding - Populate header from CXF >>>> header=org.apache.cxf.headers.Header.list value=[] >>>> TRACE - DefaultCxfBinding - Content format=class >>>> java.io.InputStream >>>> value=org.apache.cxf.io.delegatinginputstr...@114ef62 >>>> TRACE - DefaultCxfBinding - Content format=class >>>> org.apache.cxf.io.DelegatingInputStream >>>> value=org.apache.cxf.io.delegatinginputstr...@114ef62 >>>> TRACE - DefaultCxfBinding - Content format=interface >>>> javax.xml.stream.XMLStreamReader >>>> value=com.ctc.wstx.sr.validatingstreamrea...@1703484 >>>> TRACE - DefaultCxfBinding - Content format=interface >>>> org.w3c.dom.Node value=[#document: null] >>>> TRACE - DefaultCxfBinding - Content format=interface >>>> java.util.List >>>> value=[com.ccti.luminous.override.model.overridereques...@187e184, >>>> com.ccti.luminous.override.model.overridetransact...@1e6cf07] >>>> TRACE - DefaultCxfBinding - Extracted body from CXF message = >>>> [com.ccti.luminous.override.model.overridereques...@187e184, >>>> com.ccti.luminous.override.model.overridetransact...@1e6cf07] >>>> TRACE - DefaultInflightRepository - Total 1 inflight exchanges. Last >>>> added: f8896e9b-77cc-4b69-915b-bc8f3eccb9a8 >>>> Trial. >>>> Message: [com.ccti.luminous.override.model.overridereques...@187e184, >>>> com.ccti.luminous.override.model.overridetransact...@1e6cf07] >>>> class org.apache.camel.impl.DefaultMessage >>>> class org.apache.cxf.message.MessageContentsList >>>> Hi >>>> TRACE - DefaultInflightRepository - Total 0 inflight exchanges. Last >>>> removed: f8896e9b-77cc-4b69-915b-bc8f3eccb9a8 >>>> TRACE - InstrumentationProcessor - route: Recording duration: 15 >>>> millis >>>> for exchange: Exchange[Message: [Ljava.lang.Object;@3e574] >>>> TRACE - DefaultCxfBinding - Set out response context = >>>> {CamelCXFDataFormat=POJO, >>>> org.apache.cxf.service.model.BindingOperationInfo=[BindingOperationInfo: >>>> { >>>> http://override.luminous.ccti.com/}acceptOverrideRequest<http://override.luminous.ccti.com/%7DacceptOverrideRequest> >>>> <http://override.luminous.ccti.com/%7DacceptOverrideRequest> >>>> >>>> ]} >>>> TRACE - DefaultCxfBinding - Set Out CXF message content = >>>> [[com.ccti.luminous.override.model.overri...@c791f4, >>>> com.ccti.luminous.override.model.overri...@3f58bb]] >>>> >>>> And here's the updated source code >>>> >>>> >>>> from("cxf:bean:overrideServerEndpoint").process(new Processor() { >>>> @Override >>>> public void process(Exchange exchange) throws Exception { >>>> System.out.println("Trial."); >>>> System.out.println(exchange.getIn()); >>>> System.out.println(exchange.getIn().getClass()); >>>> >>>> System.out.println(exchange.getIn().getBody().getClass()); >>>> List requestList = (List) exchange.getIn().getBody(); >>>> List messageContentsList = new ArrayList(); >>>> >>>> >>>> messageContentsList.add(overrideServer.getActiveUsers((OverrideRequestor)requestList.get(0), >>>> (OverrideTransaction) requestList.get(1))); >>>> List results = >>>> overrideServer.getActiveUsers((OverrideRequestor)requestList.get(0), >>>> (OverrideTransaction) requestList.get(1)); >>>> Object[] objects = new Object[1]; >>>> objects[0] = >>>> overrideServer.getActiveUsers((OverrideRequestor)requestList.get(0), >>>> (OverrideTransaction) requestList.get(1)); >>>> >>>> exchange.getOut().setBody(objects); >>>> System.out.println("Hi"); >>>> >>>> } >>>> >>>> On Tue, Jun 1, 2010 at 3:22 PM, Willem Jiang <[email protected] >>>> >wrote: >>>> >>>> Oh, your return object is a list, camel-cxf converter can't deal with >>>>> this situation rightly. >>>>> You need put this response into a Object array just like this >>>>> >>>>> Object[] result = new Object[1]; >>>>> result[0] = messageContentsList; >>>>> exchange.getOut().setBody(result); >>>>> >>>>> Willem >>>>> >>>>> >>>>> Carlo Camerino wrote: >>>>> >>>>> it seems to be a problem with the server side retrurning nothing >>>>>> here's how the reply looks like but in my reply i'm actually setting >>>>>> the >>>>>> out >>>>>> message body >>>>>> >>>>>> Here is my interface declaration btw >>>>>> >>>>>> /** >>>>>> * @author User >>>>>> * >>>>>> */ >>>>>> @WebService(name="overrideServer", serviceName="overrideServer") >>>>>> public interface OverrideServer { >>>>>> /** >>>>>> * This method gets the list of active users available for override. >>>>>> * @return >>>>>> */ >>>>>> public List<Overrider> getActiveUsers(OverrideRequestor requestor, >>>>>> OverrideTransaction overrideTransaction); >>>>>> >>>>>> messageContentsList.add( >>>>>> >>>>>> overrideServer.getActiveUsers((OverrideRequestor)requestList.get(0), >>>>>>> (OverrideTransaction) requestList.get(1))); >>>>>>> // using this method to send reply >>>>>>> >>>>>>> --> settings exchangge's out message body in this part? >>>>>>> >>>>>> exchange.getOut().setBody(messageContentsList); >>>>>> >>>>>> >>>>>> >>>>>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/ >>>>>> "><soap:Body><ns2:acceptOverrideRequestResponse >>>>>> xmlns:ns2="http://override.luminous.ccti.com/ >>>>>> "/></soap:Body></soap:Envelope> >>>>>> >>>>>> On Tue, Jun 1, 2010 at 2:49 PM, Carlo Camerino < >>>>>> [email protected]>wrote: >>>>>> >>>>>> Hi, >>>>>> >>>>>>> I seem to be getting this problem in which I'm getting a blank reply >>>>>>> comin >>>>>>> gfrom the cxf web service. >>>>>>> i use cxf:bean and cxf://address component >>>>>>> >>>>>>> What can i be doing wrong? >>>>>>> thanks >>>>>>> carlo >>>>>>> >>>>>>> Client Configuration >>>>>>> >>>>>>> @Override >>>>>>> public void configure() throws Exception { >>>>>>> from("direct:carlo").inOut("cxf:// >>>>>>> >>>>>>> >>>>>>> http://localhost:9090/override/override?serviceClass=com.ccti.luminous.override.OverrideServer >>>>>>> ").process(new >>>>>>> Processor() { >>>>>>> >>>>>>> @Override >>>>>>> public void process(Exchange exchange) throws Exception { >>>>>>> exchange.setPattern(ExchangePattern.InOut); >>>>>>> LOG.info("Class Is: " + >>>>>>> exchange.getIn().getBody().getClass()); >>>>>>> // at this point message content list is empty >>>>>>> List messageContentsList = >>>>>>> (List)exchange.getIn().getBody(); >>>>>>> System.out.println(exchange.getOut()); >>>>>>> >>>>>>> } >>>>>>> }); >>>>>>> >>>>>>> } >>>>>>> >>>>>>> Server Configuration >>>>>>> >>>>>>> @Override >>>>>>> public void configure() throws Exception { >>>>>>> from("cxf:bean:overrideServerEndpoint").process(new Processor() >>>>>>> { >>>>>>> @Override >>>>>>> public void process(Exchange exchange) throws Exception { >>>>>>> System.out.println("Trial."); >>>>>>> System.out.println(exchange.getIn()); >>>>>>> System.out.println(exchange.getIn().getClass()); >>>>>>> >>>>>>> System.out.println(exchange.getIn().getBody().getClass()); >>>>>>> List requestList = (List) exchange.getIn().getBody(); >>>>>>> List messageContentsList = new ArrayList(); >>>>>>> >>>>>>> >>>>>>> >>>>>>> messageContentsList.add(overrideServer.getActiveUsers((OverrideRequestor)requestList.get(0), >>>>>>> (OverrideTransaction) requestList.get(1))); >>>>>>> // using this method to send reply >>>>>>> exchange.getOut().setBody(messageContentsList); >>>>>>> } >>>>>>> }); >>>>>>> >>>>>>> } >>>>>>> >>>>>>> >>>>>>> >> >
