axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anders Peterson <anders_peter...@optimatika.se>
Subject Can the BeanDeserializer call other deserializers?
Date Wed, 24 Sep 2003 07:19:41 GMT
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
>
>


Mime
View raw message