You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Anders Peterson <an...@optimatika.se> on 2003/09/22 18:31:08 UTC

No deserializer for dateTime

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(DeserializerImp 
l.java:485)
	at  
org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl. 
java:428)
	at  
org.apache.axis.encoding.DeserializationContextImpl.startElement(Deseria 
lizationContextImpl.java:976)
	at  
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java: 
198)
	at  
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.j 
ava: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(IFundSOAPbin 
dingStub.java:472)
	at  
se.optimatika.proj.qsd.com.QCDCommunicatorFront.getEvaluation(QCDCommuni 
catorFront.java:166)
	at  
se.optimatika.proj.qsd.com.QCDEvaluationCommunicator.callRemote(QCDEvalu 
ationCommunicator.java:73)
	at  
se.optimatika.proj.qsd.com.QCDEntityCommunicator.download(QCDEntityCommu 
nicator.java:79)
	at  
se.optimatika.proj.qsd.eo.QCDEvaluation.doRemoteImport(QCDEvaluation.jav 
a: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


Re: No deserializer for dateTime

Posted by Dimuthu Leelarathne <mu...@vijayaba.cse.mrt.ac.lk>.
Well done :-).

----- Original Message -----
From: "Anders Peterson" <an...@optimatika.se>
To: <ax...@ws.apache.org>
Sent: Wednesday, September 24, 2003 7:53 PM
Subject: Re: No deserializer for dateTime


Hi,

I solved this the easy/wrong way!

I asked to have the dateTime communicated as a string instead (my app
is the only client). Now everything works fine!

/Anders

On tisdag, sep 24, 2002, at 05:26 Europe/Stockholm, Dimuthu Leelarathne
wrote:

> 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" <an...@optimatika.se>
> To: <ax...@ws.apache.org>
> 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(Deserializer
>>> I
>>> mpl.java:485)
>>> at
>>> org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerIm
>>> p
>>> l.java:428)
>>> at
>>> org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese
>>> r
>>> ializationContextImpl.java:976)
>>> at
>>> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja
>>> v
>>> a:198)
>>> at
>>> org.apache.axis.message.MessageElement.publishToHandler(MessageElemen
>>> t
>>> .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(IFundSOAP
>>> b
>>> indingStub.java:472)
>>> at
>>> se.optimatika.proj.qsd.com.QCDCommunicatorFront.getEvaluation(QCDComm
>>> u
>>> nicatorFront.java:166)
>>> at
>>> se.optimatika.proj.qsd.com.QCDEvaluationCommunicator.callRemote(QCDEv
>>> a
>>> luationCommunicator.java:73)
>>> at
>>> se.optimatika.proj.qsd.com.QCDEntityCommunicator.download(QCDEntityCo
>>> m
>>> 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
>
>
>
__________________________
Anders Peterson
Optimatika
Torstenssonsgatan 12, 5tr.
114 56 Stockholm
Sweden

Personal: +46 - (0)70 - 843 78 92
Company: + 46 - (0)8 - 720 30 66
Fax: + 46 - (0)8 - 15 31 00



Re: No deserializer for dateTime

Posted by Anders Peterson <an...@optimatika.se>.
Or so I thought...

Now I get:

org.xml.sax.SAXException: No deserializer for decimal
	at  
org.apache.axis.encoding.DeserializerImpl.onStartElement(DeserializerImp 
l.java:485)
	at  
org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl. 
java:428)
	at  
org.apache.axis.encoding.DeserializationContextImpl.startElement(Deseria 
lizationContextImpl.java:976)
	at  
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java: 
198)
	at  
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.j 
ava: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.getCustodyAccount(I 
FundSOAPbindingStub.java:768)

I have better (more) info:

### Begin Problem Report ###
2003-09-24 16:16:30 Etc/GMT
Victim: se.optimatika.proj.qsd.com.QCDCommunicatorFront@5cbc57
Problem: Access violation at address CCFFFCFB. Read of address CCFFFCFB

AxisFault
  faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
  faultSubcode:
  faultString: Access violation at address CCFFFCFB. Read of address  
CCFFFCFB
  faultActor:
  faultNode:
  faultDetail:
	{http://xml.apache.org/axis/}stackTrace: AxisFault
  faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
  faultSubcode:
  faultString: Access violation at address CCFFFCFB. Read of address  
CCFFFCFB
  faultActor:
  faultNode:
  faultDetail:

Access violation at address CCFFFCFB. Read of address CCFFFCFB
	at  
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.ja 
va:260)
	at  
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.jav 
a:169)
	at  
org.apache.axis.encoding.DeserializationContextImpl.endElement(Deseriali 
zationContextImpl.java:1015)
	at  
org.apache.xerces.parsers.AbstractSAXParser.endElement(AbstractSAXParser 
.java:585)


Re: No deserializer for dateTime

Posted by Anders Peterson <an...@optimatika.se>.
Hi,

I solved this the easy/wrong way!

I asked to have the dateTime communicated as a string instead (my app  
is the only client). Now everything works fine!

/Anders

On tisdag, sep 24, 2002, at 05:26 Europe/Stockholm, Dimuthu Leelarathne  
wrote:

> 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" <an...@optimatika.se>
> To: <ax...@ws.apache.org>
> 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(Deserializer 
>>> I
>>> mpl.java:485)
>>> at
>>> org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerIm 
>>> p
>>> l.java:428)
>>> at
>>> org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese 
>>> r
>>> ializationContextImpl.java:976)
>>> at
>>> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja 
>>> v
>>> a:198)
>>> at
>>> org.apache.axis.message.MessageElement.publishToHandler(MessageElemen 
>>> t
>>> .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(IFundSOAP 
>>> b
>>> indingStub.java:472)
>>> at
>>> se.optimatika.proj.qsd.com.QCDCommunicatorFront.getEvaluation(QCDComm 
>>> u
>>> nicatorFront.java:166)
>>> at
>>> se.optimatika.proj.qsd.com.QCDEvaluationCommunicator.callRemote(QCDEv 
>>> a
>>> luationCommunicator.java:73)
>>> at
>>> se.optimatika.proj.qsd.com.QCDEntityCommunicator.download(QCDEntityCo 
>>> m
>>> 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
>
>
>
__________________________
Anders Peterson
Optimatika
Torstenssonsgatan 12, 5tr.
114 56 Stockholm
Sweden
	
Personal: +46 - (0)70 - 843 78 92
Company: + 46 - (0)8 - 720 30 66
Fax: + 46 - (0)8 - 15 31 00


Re: No deserializer for dateTime

Posted by Dimuthu Leelarathne <mu...@vijayaba.cse.mrt.ac.lk>.
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" <an...@optimatika.se>
To: <ax...@ws.apache.org>
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



Can the BeanDeserializer call other deserializers?

Posted by Anders Peterson <an...@optimatika.se>.
Can the org.apache.axis.encoding.ser.BeanDeserializer call any other  
deserializer? (Which deserializers  can it call?)

More specifically can it call the CalendarSerializer?

On tisdag, sep 23, 2003, at 15:29 Europe/Stockholm, Anders Peterson  
wrote:

> 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(Deserializer 
>>> Impl.java:485)
>>> 	at  
>>> org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerIm 
>>> pl.java:428)
>>> 	at  
>>> org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese 
>>> rializationContextImpl.java:976)
>>> 	at  
>>> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja 
>>> va:198)
>>> 	at  
>>> org.apache.axis.message.MessageElement.publishToHandler(MessageElemen 
>>> t.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(IFundSOAP 
>>> bindingStub.java:472)
>>> 	at  
>>> se.optimatika.proj.qsd.com.QCDCommunicatorFront.getEvaluation(QCDComm 
>>> unicatorFront.java:166)
>>> 	at  
>>> se.optimatika.proj.qsd.com.QCDEvaluationCommunicator.callRemote(QCDEv 
>>> aluationCommunicator.java:73)
>>> 	at  
>>> se.optimatika.proj.qsd.com.QCDEntityCommunicator.download(QCDEntityCo 
>>> mmunicator.java:79)
>>> 	at  
>>> se.optimatika.proj.qsd.eo.QCDEvaluation.doRemoteImport(QCDEvaluation. 
>>> java: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
>
>


Re: No deserializer for dateTime

Posted by Anders Peterson <an...@optimatika.se>.
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


Re: No deserializer for dateTime

Posted by Anders Peterson <an...@optimatika.se>.
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(DeserializerIm 
> pl.java:485)
> 	at  
> org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl 
> .java:428)
> 	at  
> org.apache.axis.encoding.DeserializationContextImpl.startElement(Deseri 
> alizationContextImpl.java:976)
> 	at  
> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java 
> :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(IFundSOAPbi 
> ndingStub.java:472)
> 	at  
> se.optimatika.proj.qsd.com.QCDCommunicatorFront.getEvaluation(QCDCommun 
> icatorFront.java:166)
> 	at  
> se.optimatika.proj.qsd.com.QCDEvaluationCommunicator.callRemote(QCDEval 
> uationCommunicator.java:73)
> 	at  
> se.optimatika.proj.qsd.com.QCDEntityCommunicator.download(QCDEntityComm 
> unicator.java:79)
> 	at  
> se.optimatika.proj.qsd.eo.QCDEvaluation.doRemoteImport(QCDEvaluation.ja 
> va: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
>
>
__________________________
Anders Peterson
Optimatika
Torstenssonsgatan 12, 5tr.
114 56 Stockholm
Sweden
	
Personal: +46 - (0)70 - 843 78 92
Company: + 46 - (0)8 - 720 30 66
Fax: + 46 - (0)8 - 15 31 00