Ah!  I misunderstood your issue (your WSDL isn't in the notes, anymore and
I was too lazy to look for it).   We've discussed generating derived types
a short while ago (on axis-dev, maybe?), but I don't think anyone
implemented it.  Now you've shown us another facet of the problem.  It's
not good enough simply to generate all derived types.  The stub must
register them as well.  And they must be listed in the wsdd file.

I've added this work to my todo list.

Russell Butek
[EMAIL PROTECTED]


"St-Germain, Sylvain" <[EMAIL PROTECTED]> on 03/19/2002 11:48:31
AM

Please respond to [EMAIL PROTECTED]

To:    [EMAIL PROTECTED]
cc:
Subject:    RE: Array deserialization problem




This means to me that I cannot used the extended types.
My API is defined with arround a base type but what I am carrying on the
wire is the extended types.

Without the mapping implemented in the Stub I cannot use them.

(Am I missing something here??)

It look to me that generating the types (the classes) is half the solution
if these objects cannot be deserialized.

What do you mean by "... we don't force the Stub to use them?"  Shoudn't
we?
What else should the stub use?

Sylvain.




-----Original Message-----
From: Russell Butek [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, March 19, 2002 11:12 AM
To: [EMAIL PROTECTED]
Subject: RE: Array deserialization problem


The --all option GENERATES all mappings, but since all mappings aren't
USED, we don't force anything (ie., the stub) to use them.

Russell Butek
[EMAIL PROTECTED]


"St-Germain, Sylvain" <[EMAIL PROTECTED]> on 03/19/2002 09:37:52
AM

Please respond to [EMAIL PROTECTED]

To:    [EMAIL PROTECTED]
cc:
Subject:    RE: Array deserialization problem




I found it, the Stub constructor is not defining all the mapping for the
types I need.

I am currently calling WSDL2Java with -stav, when you guys implemented the
-all option to generate the classes for all types defined, is it possible
that was forgotten or left aside the change to the Stub that does generate
the mapping for all types as well?

Adding the mapping manually fixed my problem...  I think that -all should
also define all the possible mapping.

Regards,
Sylvain.


-----Original Message-----
From: St-Germain, Sylvain [mailto:[EMAIL PROTECTED]]
Sent: Monday, March 18, 2002 11:16 AM
To: Axis-User (E-mail)
Subject: Array deserialization problem



Hi,

Using today's (18-03-02) build I get an exception on the client trying to
deserialize an array.
The returned array contains two objects of different types and on
deserializing the first element I get:

org.xml.sax.SAXException: !! No Deserializer for
http://developer.cognos.com/schemas/cm/1/:objectPackage
        at
org.apache.axis.encoding.DeserializerImpl.onStartElement(DeserializerImpl.ja


va:444)
        at
org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java


:391)
        at
org.apache.axis.encoding.DeserializationContextImpl.startElement(Deserializa


tionContextImpl.java:834)
        at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:197)

        at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:


578)
        at
org.apache.axis.message.RPCElement.deserialize(RPCElement.java:207)
        at
        org.apache.axis.message.RPCElement.getParams(RPCElement.java:231)
        at org.apache.axis.client.Call.invoke(Call.java:1607)
        at org.apache.axis.client.Call.invoke(Call.java:1515)
        at org.apache.axis.client.Call.invoke(Call.java:1095)
        at
com.cognos.developer.ContentManagerServiceBindingStub.query(ContentManagerSe


rviceBindingStub.java:201)
        at com.cognos.client.ServiceInvoker.main(ServiceInvoker.java:67)


The response body is:

 <SOAP-ENV:Body>
  <ns1:queryResponse
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:ns1="http://developer.cognos.com/schemas/cm/1/";>
   <queryResult xsi:type="SOAP-ENC:Array"
SOAP-ENC:arrayType="ns1:baseObject[2]"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";>
    <item xsi:type="ns1:objectPackage">
 [...]
    </item>
    <item xsi:type="ns1:objectReport">
 [...]
    </item>
   </queryResult>
  </ns1:queryResponse>
 </SOAP-ENV:Body>

For your information I've attached is the WSDL, the client code and the
server's Impl code.

--
Sylvain

This message may contain privileged and/or confidential information.  If
you
have received this e-mail in error or are not the intended recipient, you
may not use, copy, disseminate or distribute it; do not open any
attachments, delete it immediately from your system and notify the sender
promptly by e-mail that you have done so.  Thank you.



This message may contain privileged and/or confidential information.  If
you
have received this e-mail in error or are not the intended recipient, you
may not use, copy, disseminate or distribute it; do not open any
attachments, delete it immediately from your system and notify the sender
promptly by e-mail that you have done so.  Thank you.


This message may contain privileged and/or confidential information.  If
you
have received this e-mail in error or are not the intended recipient, you
may not use, copy, disseminate or distribute it; do not open any
attachments, delete it immediately from your system and notify the sender
promptly by e-mail that you have done so.  Thank you.


Reply via email to