Hi,

You are using camel-cxf and soap dataformat at the same time.
Either of them can do the job for you.
Please check the document of camel-cxf[1] and came-soap[2]


[1]http://camel.apache.org/cxf.html#CXF-HowtoconsumeamessagefromacamelcxfendpointinPOJOdataformat
[2]http://camel.apache.org/soap.html

On 5/11/11 10:12 PM, Chris Richmond wrote:
I finally successfully got CXF service being served at a Camel consumer
endpoint, where TestService has the interface annotated method which I
can call from a .NET soap client no problem:

@WebMethod(operationName="EchoValue")
@WebResult(name = "EchoResponse", targetNamespace =
"http://component.referentia.com";)
public String echoValue(@WebParam(name="value")String value);

However, when I add a more complex method like this:

@WebMethod(operationName="GetTestData")
@WebResult(name = "TestData", targetNamespace =
"http://liveaction.referentia.com";)
public TestData getTestData(@WebParam(name="Name")String name,
@WebParam(name="MachineValue")int machineValue,
@WebParam(name="Timestamp")Date timestamp);

when I start the application, I get the error below. Am I to believe
that Camel-CXF cannot handle multiple parameter webmethods???

java.lang.IllegalArgumentException: Method getTestData has more than one
parameter and no request wrapper. This is not yet supported
at
org.apache.camel.dataformat.soap.name.ServiceInterfaceStrategy.getInInfo(ServiceInterfaceStrategy.java:106)

at
org.apache.camel.dataformat.soap.name.ServiceInterfaceStrategy.analyzeMethod(ServiceInterfaceStrategy.java:118)

at
org.apache.camel.dataformat.soap.name.ServiceInterfaceStrategy.analyzeServiceInterface(ServiceInterfaceStrategy.java:128)

at
org.apache.camel.dataformat.soap.name.ServiceInterfaceStrategy.<init>(ServiceInterfaceStrategy.java:54)

at
com.referentia.cameltest.CamelTestMain$1.configure(CamelTestMain.java:67)
at
org.apache.camel.builder.RouteBuilder.checkInitialized(RouteBuilder.java:322)

at
org.apache.camel.builder.RouteBuilder.configureRoutes(RouteBuilder.java:277)

at
org.apache.camel.builder.RouteBuilder.addRoutesToCamelContext(RouteBuilder.java:263)

at
org.apache.camel.impl.DefaultCamelContext.addRoutes(DefaultCamelContext.java:613)

at com.referentia.cameltest.CamelTestMain.main(CamelTestMain.java:52)








--
Willem
----------------------------------
FuseSource
Web: http://www.fusesource.com
Blog:    http://willemjiang.blogspot.com (English)
         http://jnn.javaeye.com (Chinese)
Twitter: willemjiang

Connect at CamelOne May 24-26
The Open Source Integration Conference
http://camelone.com

Reply via email to