Hi James
Hmm , RPCMessageReceiver does not support java.util.Date
but it does
support jaya.uril.Calendar . So can you please check with
Calendar.
James Taylor wrote:
>
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(StandardWrapperValvejava:213)
> at
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValvejava: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();
>
}
> }
> }
>
--
Thanks,
Deepal
...............................................................
~Future
is Open~
---------------------------------------------------------------------
To
unsubscribe, e-mail:
[EMAIL PROTECTED]For additional
commands, e-mail:
[EMAIL PROTECTED]