Hello,
 
I'm trying to invoke an Axis2 web service that returns a java.util.Date in its response, but am getting the exception below.  I'm using a snapshot from a few days back.  I've also included my sample web service implementation.  Is this supposed to work?
 
Thanks!
 
    James
 
org.apache.axis2.AxisFault: Exception occurred while trying to invoke service method echo
 at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:287)
 at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:457)
 at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:399)
 at helloworld.axis2.MyRPCClient.main(MyRPCClient.java:40)
Caused by: java.lang.Exception: org.apache.axis2.AxisFault: Exception occurred while trying to invoke service method echo; nested exception is:
 org.apache.axiom.om.OMException: java.lang.IllegalArgumentException: null rcl
 at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:142)
 at org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(AbstractInOutSyncMessageReceiver.java:37)
 at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:480)
 at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:284)
 at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:138)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
 at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
 at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
 at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
 at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
 at java.lang.Thread.run(Thread.java:595)
Caused by: org.apache.axiom.om.OMException: java.lang.IllegalArgumentException: null rcl
 at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:206)
 at org.apache.axiom.om.impl.llom.OMNodeImpl.build(OMNodeImpl.java:298)
 at org.apache.axiom.om.impl.llom.OMElementImpl.detach(OMElementImpl.java:584)
 at org.apache.axiom.om.impl.llom.OMNodeImpl.setParent(OMNodeImpl.java:118)
 at org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:240)
 at org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:197)
 at org.apache.axis2.rpc.receivers.RPCUtil.processResponse(RPCUtil.java:71)
 at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:133)
 ... 20 more
Caused by: java.lang.IllegalArgumentException: null rcl
 at org.codehaus.jam.internal.reflect.ReflectClassBuilder.<init>(ReflectClassBuilder.java:47)
 at org.codehaus.jam.provider.JamServiceFactoryImpl.createBuilder(JamServiceFactoryImpl.java:173)
 at org.codehaus.jam.provider.JamServiceFactoryImpl.createClassLoader(JamServiceFactoryImpl.java:137)
 at org.codehaus.jam.provider.JamServiceFactoryImpl.createService(JamServiceFactoryImpl.java:78)
 at org.apache.axis2.databinding.utils.BeanUtil.getPullParser(BeanUtil.java:57)
 at org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl.processProperties(ADBXMLStreamReaderImpl.java:953)
 at org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl.next(ADBXMLStreamReaderImpl.java:826)
 at org.apache.axis2.util.StreamWrapper.next(StreamWrapper.java:68)
 at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:123)
 ... 27 more
 at org.apache.axis2.AxisFault.<init>(AxisFault.java:159)
 ... 4 more
 
MyRPCService.java
---------------------
package helloworld.axis2;
public class MyRPCService {
 public MyQuote echo(String theString) {
      return new MyQuote (theString);
 }
}
 
MyQuote.java
---------------
package helloworld.axis2;
import java.io.Serializable;
import java.util.Date;
public class MyQuote implements Serializable {
 private String quote;
 private Date when;
 
 public MyQuote () {
 }
 
 public MyQuote (String theQuote) {
  quote = theQuote;
  when = new Date();
 }
 
 public String getQuote () {
  return quote;
 }
 
 public void setQuote (String theQuote) {
  quote = theQuote;
 }
 
 public Date getWhen () {
  return when;
 }
 
 public void setWhen (Date theDate) {
  when = theDate;
 }
}
services.xml
------------

<?xml version="1.0" encoding="UTF-8"?>

<serviceGroup>

<service name="MyRPCService">

<description>

This is a sample Web Service with one operation.

</description>

<parameter name="ServiceClass" locked="false">helloworld.axis2.MyRPCService</parameter>

<operation name="echo">

<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>

<actionMapping>urn:echo</actionMapping>

</operation>

</service>

</serviceGroup>

 

MyRPCClient.java
-------------------
package helloworld.axis2;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
public class MyRPCClient {
    private static EndpointReference targetEPR = new EndpointReference("http://localhost:8080/axis2/services/MyRPCService");
    public static OMElement createPayload() {
        OMFactory fac = OMAbstractFactory.getOMFactory();
        OMNamespace omNs = fac.createOMNamespace(
                "http://axis2.helloworld/xsd", "rpc-ex");
        OMElement method = fac.createOMElement("echo", omNs);
        OMElement value = fac.createOMElement("theString", omNs);
        value.addChild(fac.createOMText(value, "Hello World"));
        method.addChild(value);
        return method;
    }
    /**
  * @param args
  */
 public static void main(String[] args) {
     try {
      OMElement payload = createPayload();
                       
            Options options = new Options();
            options.setTo(targetEPR); // this sets the location of MyService service
           
            ServiceClient serviceClient = new ServiceClient();
            serviceClient.setOptions(options);
            OMElement result = serviceClient.sendReceive(payload);
           
            System.out.println(result);
        } catch (AxisFault axisFault) {
            axisFault.printStackTrace();
        }
 }
}

Reply via email to