Hi Anders,

I had the exact-problem sometime back, but it was regarding doc\literal
services. Isn't this a client side deserialization problem? The Binding stub
was the same ( i.e. it added a elemfield to the typedesc ).

According to your stackTrace I see that the program-control-flow has not
reached BeanDeserializer, which is supposed to deserialize it. I think you
have to fix it first. The bean deserializer with the typedesc(where we added
the elemField) should deserialize it. I didn't try hard enough to give you a
concrete word, as to whether this could be done or not. Good luck.

Regards,
Dimuthu.


----- Original Message -----
From: "Anders Peterson" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, September 23, 2003 7:29 PM
Subject: Re: No deserializer for dateTime


Is this a bug?
...

What I have is a custom data type TNAV conatining two attributes - an
int and a dateTime.

     // Type metadata
     private static org.apache.axis.description.TypeDesc typeDesc =
         new org.apache.axis.description.TypeDesc(TNAV.class);

     static {
         typeDesc.setXmlType(new
javax.xml.namespace.QName("urn:FundSOAPIntf", "TNAV"));
         org.apache.axis.description.ElementDesc elemField = new
org.apache.axis.description.ElementDesc();
         elemField.setFieldName("NAV_Code");
         elemField.setXmlName(new javax.xml.namespace.QName("",
"NAV_Code"));
         elemField.setXmlType(new
javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema";, "int"));
         typeDesc.addFieldDesc(elemField);
         elemField = new org.apache.axis.description.ElementDesc();
         elemField.setFieldName("NAV_DateTime");
         elemField.setXmlName(new javax.xml.namespace.QName("",
"NAV_DateTime"));
         elemField.setXmlType(new
javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema";,
"dateTime"));
         typeDesc.addFieldDesc(elemField);
     }

The *BindingStub it is configured to use a bean (de)serializer for TNAV.

             qName = new javax.xml.namespace.QName("urn:FundSOAPIntf",
"TNAV");
             cachedSerQNames.add(qName);
             cls = FundSOAPIntf.TNAV.class;
             cachedSerClasses.add(cls);
             cachedSerFactories.add(beansf);
             cachedDeserFactories.add(beandf);

Somehow the bean deserializer fails to find/call the dateTime
deserializer. Is this a bug?

/Anders

On tisdag, sep 23, 2003, at 10:20 Europe/Stockholm, Anders Peterson
wrote:

> Hi again,
>
> As I understand it the
> org.apache.axis.encoding.ser.CalendarDeserializer deserializer is
> supposed to handle this.
>
>> org.xml.sax.SAXException: No deserializer for dateTime
>
> I assume the above exception means the deserializer is not found (not
> that it doesn't work properly). Why isn't it found? Other
> (de)serializers are found. The wsdl2java generated code works fine for
> messages not containing dateTime objects.
>
> /Anders
>
> On måndag, sep 22, 2003, at 18:31 Europe/Stockholm, Anders Peterson
> wrote:
>
>> Hi,
>>
>> I’m relatively new to SOAP and completely new to Axis.
>>
>> I’ve used the wsdl2java tool to generate source code that I’m using
>> unaltered. It works fine except for one thing (so far). I get the
>> following exception:
>>
>> - Exception:
>> org.xml.sax.SAXException: No deserializer for dateTime
>> at
>> org.apache.axis.encoding.DeserializerImpl.onStartElement(DeserializerI
>> mpl.java:485)
>> at
>> org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImp
>> l.java:428)
>> at
>> org.apache.axis.encoding.DeserializationContextImpl.startElement(Deser
>> ializationContextImpl.java:976)
>> at
>> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.jav
>> a:198)
>> at
>> org.apache.axis.message.MessageElement.publishToHandler(MessageElement
>> .java:722)
>> at
>> org.apache.axis.message.RPCElement.deserialize(RPCElement.java:233)
>> at org.apache.axis.message.RPCElement.getParams(RPCElement.java:347)
>> at org.apache.axis.client.Call.invoke(Call.java:2272)
>> at org.apache.axis.client.Call.invoke(Call.java:2171)
>> at org.apache.axis.client.Call.invoke(Call.java:1691)
>> at
>> se.ws.backofficeonline.FundSOAP.IFundSOAPbindingStub.getNAV(IFundSOAPb
>> indingStub.java:472)
>> at
>> se.optimatika.proj.qsd.com.QCDCommunicatorFront.getEvaluation(QCDCommu
>> nicatorFront.java:166)
>> at
>> se.optimatika.proj.qsd.com.QCDEvaluationCommunicator.callRemote(QCDEva
>> luationCommunicator.java:73)
>> at
>> se.optimatika.proj.qsd.com.QCDEntityCommunicator.download(QCDEntityCom
>> municator.java:79)
>> at
>> se.optimatika.proj.qsd.eo.QCDEvaluation.doRemoteImport(QCDEvaluation.j
>> ava:493)
>> at Application.<init>(Application.java:60)
>> at java.lang.Class.newInstance0(Native Method)
>> at java.lang.Class.newInstance(Class.java:232)
>> at
>> com.webobjects.appserver.WOApplication.main(WOApplication.java:296)
>> at Application.main(Application.java:31)
>>
>> Shouldn’t this work?
>>
>> http://www.w3.org/TR/xmlschema-2/#dateTime
>>
>> Is it some sort of configuration problem?
>>
>> I’m using Axis 1.1 with WebObjects 5.2.
>>
>> /Anders


Reply via email to