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);
            }
        });

    }



Reply via email to