Re: please, help with "no deserializer found ..." message

Nige White <[email protected]>
Newsgroups gmane.text.xml.soap.user
Message-ID <[email protected]>
Hi all, first time poster, been lurking for a while.

We develop a freight forwarding application in the proprietary Synergy 
DBL language which is a rather primitive procedural language with its 
roots in the 1970s!

It's been updated to include TCP/IP routines, HTTP handling routnies, 
and a (very) rudimentary XML parser etc,

I've written a series of XSLT transformations to generate a DBL SOAP 
server, and matching Java client classes from the XML interface 
description that our system uses (A very primitive analogue of WSDL 
which just specifies compound data types built of DBL primitives, 
followed by method declarations).

All is working well. Except for one thing. When one of the compound data 
types which I send back to Apache SOAP contains a Date.

The compound data types generate Java Beans on the client side, and I'm 
using the default Apache BeanSerializer to marshal/unmarshal them:

        
soapmappingregistry.mapTypes("http://schemas.xmlsoap.org/soap/encoding/",
            new QName("urn:forward-comp.co.uk", "Trkmil_011"),
            Trkmil_011.class, beanserializer, beanserializer);

I copied how I serialize the Beans from examining the packets created by 
Apache SOAP; when I pass a Parameter like this:

            String EncURI = null;
            asp_wt_listParams.addElement(new Parameter("bar", 
java.util.Date.class, bar, EncURI));

Apache Soap creates an element like this:

<bar xsi:type="xsd:dateTime">2004-07-17T00:00:00.000Z</bar>

But when on the DBL server size, I serialize a Date attribute of one of 
our compound data types like this:

<SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/1999/XMLSchema"
    xmlns:xse="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:fcl="urn:forward-comp.co.uk">
  <SOAP-ENV:Body>
    <fcl:asp_fv_mile_listResponse>
      <return xsi:type="xsd:int">1</return>
      <trkmil_011 xsi:type="fcl:Trkmil_011">
        <status xsi:type="xsd:byte">0</status>
        <sequencer_date_d8 
xsi:type="xsd:dateTime">2004-06-08T00:00:00.000Z</sequencer_date_d8>
      </trkmil_011>
    </fcl:asp_fv_mile_listResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope
 
I get the following Exception:

[SOAPException: faultCode=SOAP-ENV:Client; msg=No Deserializer found to 
deserialize a &apos;http://www.w3.org/1999/XMLSchema:dateTime&apos; 
using encoding style &apos;null&apos;.; 
targetException=java.lang.IllegalArgumentException: No Deserializer 
found to deserialize a 'http://www.w3.org/1999/XMLSchema:dateTime' using 
encoding style 'null'.]
        at org.apache.soap.rpc.Call.invoke(Call.java, Compiled Code)
        at com.fcl.aspclasses.asp.asp_fv_mile_list(asp.java, Compiled Code)
        at 
org.apache.jsp.AspFvTrkmilList_jsp._jspService(AspFvTrkmilList_jsp.java, 
Compiled Code)
        at 
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java, Compiled 
Code)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java, 
Compiled Code)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java, 
Compiled Code)


I'm doing exactly what Apache SOAP does! How come it can't deserialize 
that back into a java.util.Date?

Thanks for any help,

Nige

_____________________________________________________________________
This message has been checked for all known viruses. Virus scanning
powered by Messagelabs http://www.messagelabs.com For more information
e-mail : [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.