So, what are my options? I have an existing service defined by my
service interface class which is in use and I am migrating to Camel and
is SOAP? Can I simply not use Camel to service this service definition?
Thanks,
Chris
On 5/10/2011 6:53 PM, Claus Ibsen wrote:
On Wed, May 11, 2011 at 4:12 PM, Chris Richmond
<crichm...@referentia.com> 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???
The stacktrace is from camel-soap. Its that data format that doesn't
support that yet. I think there is a JIRA ticket for that. If not feel
free to create a ticket.
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)