Hi,

I've been "using" Axis2 to run a soap service for a webapp in my company. I use quotation marks around using because Axis2 is being very fickle and at the moment none of us can figure out how to get it to respond to soap requests after we made a patch to our code. Anyway, I decided maybe Axis2 is too much of a hassle for what is otherwise a small and simple part of our overall webapp.

I've been trying to transfer over to CXF, and at this point I want to make sure I can get a reasonable SOAP response before I even bother implementing another SOAP service again. Our service is created wsdl-first, and I used wsdl2java from CXF to generate the java code. I then wrote up a simple implementation of the service class that shouldn't do much other than return a couple values.

The issue I'm having is making a request to any of these methods. I'm just running the generated SOAP_server java class at this point. The address is bound as such, String address = "http://localhost:8081/";; I am able to access my wsdl via http://localhost:8081/mloyalty?wsdl, but when I send valid requests to http://localhost:8081/mloyalty I get a fault back and the logger reports:

WARNING: Interceptor for {http://mloyalty.moremagic.com/}MloyaltyImplService#{http://mloyalty.moremagic.com/}MagicPoint has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault

From what I was able to dig up in searches, this type of exception most likely means I have the wrong endpoint URL for the request. Can anyone help me here?

Also, I initially ran into issues with the Holder class IllegalAccessError related to Const. This seems to be a typical problem, and I included the CXF lib jars in the classpath to solve it. I'm not sure the exact jar that solved this though, if anyone knows the exact jar that fixes this I'd like to simplify the classpath down to just the necessities. One more question related to the Holder... in Axis2 the service methods had return types that were Response objects. I noticed CXF made the methods void, however it made method parameters for the output fields of the response all of type Holder, are these somehow passed by reference across the network so a client can read the values, or how exactly is that supposed to work?

Thanks,
Rich

Reply via email to