axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Taylor <giacomotay...@yahoo.com>
Subject Re: java.util.Date in response for RPCMessageReceiver
Date Tue, 06 Jun 2006 00:04:57 GMT
I tried Calendar and I don't get an exception, however my web service client cannot interpret
the structure it receives for the Calendar value.  Here's the error I get when the client
receives the response:
 
Validation failed: error: Date value is malformed: java.util.GregorianCalendar[time=1149494974373,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="America/Los_Angeles",offset=-28800000,dstSavings=3600000,useDaylight=true,transitions=185,lastRule=java.util.SimpleTimeZone[id=America/Los_Angeles,offset=-28800000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=3,startMonth=3,startDay=1,startDayOfWeek=1,startTime=7200000,startTimeMode=0,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=7200000,endTimeMode=0]],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2006,MONTH=5,WEEK_OF_YEAR=23,WEEK_OF_MONTH=2,DAY_OF_MONTH=5,DAY_OF_YEAR=156,DAY_OF_WEEK=2,DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=1,HOUR_OF_DAY=1,MINUTE=9,SECOND=34,MILLISECOND=373,ZONE_OFFSET=-28800000,DST_OFFSET=3600000]

Since the WSDL expects an xs:dateTime, the above doesn't qualify.  Should Axis be sending
the Calendar value in a different format?
 
Thanks!
 
    James

----- Original Message ----
From: Deepal Jayasinghe <deepal@opensource.lk>
To: axis-user@ws.apache.org
Sent: Sunday, June 4, 2006 10:42:11 PM
Subject: Re: java.util.Date in response for RPCMessageReceiver


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(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();
>         }
>  }
> }
>

-- 
Thanks,
Deepal
................................................................
~Future is Open~ 



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org
Mime
View raw message