You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-user@xml.apache.org by "Hansen, Richard" <Ri...@westgroup.com> on 2001/07/23 20:54:14 UTC

RE: How do you retrieve complex Java objects from a non-Java clie nt.

There are no Java "objects" involved. SOAP messages are transported XML as
text. It is  totally up to the client to extract the message into whatever
kind of data structure is appropriate. Check the MS Soap Toolkit on how to
handle complex types. 

Rick Hansen

> -----Original Message-----
> From: Michael J. Hudson [mailto:mhudson@blueprinttech.com]
> Sent: Monday, July 23, 2001 12:58 PM
> To: soap-user@xml.apache.org
> Subject: How do you retrieve complex Java objects from a non-Java
> client.
> 
> 
> 
> This question goes either way... that is... whether your SOAP server
> is Java and your client is VB/C++/etc.  OR  you SOAP server is
> VB/C++/etc.
> and your client is Java.
> 
> I understand how to map a Java object in Apache's SOAP using 
> its default
> Bean Seralizer and the SOAP Mapping Registry... but if I'm not using
> Java on the other side... how do I DESERIALIZE that object that is
> in the XML SOAP file into a VB object or whatever on the 
> other side??   
> I've already done it with strings and primitive types... but 
> do objects
> work the same way?
> 
> In the MS-SOAP kit... do they have tools to deserialize a Java object
> into a COM or VB object??    Are there any C++ kits??
> 
> Thanks,
> 
> 
> -----------------
> Michael J. Hudson
> Software/Framework Engineer
> mhudson@blueprinttech.com
> 
> cell-phone: 703.362.8039
> voice-mail: 703.827.0638 ext. 4786
> fax: 703.734.0987
> 
> Blueprint Technologies
> "Great software starts with great architecture"
> http://www.blueprinttech.com
> 

Re: How do you retrieve complex Java objects from a non-Java client.

Posted by "Michael J. Hudson" <mh...@blueprinttech.com>.
I understand that everything is transported as an XML document.  

What I'm asking is this...
The serializer (in this case the Java Bean Serializer) is
choosing a format to describe the Java object in XML text.  Is this 
format standard??  I'm assuming that there really is no standard 
way of representing a generic language-neutral object over XML text.
I think Apache SOAP's serializer does a simple 
"<class-name><attribute-name>value<attribute-name><class-name>" type
of thing.  But that's really just a simple generalization of a 
layered data structure... not really an object object.  

In Apache SOAP... it seems that you can tell the SOAPMapRegistry how
to map Class A to a certain URN.  On the server-side, that URN is then
mapped to the REAL Java class.  I'm not quite sure how complicated
that Java object can be... and I guess that's part of my question.

In terms of MS SOAP and Apache SOAP interoperability... if in terms
of objects... that just means some kind of layered data structure 
where the public attributes are spit out into XML elements... then
fine.  But can we get any more complex than that?  

And can most SOAP implementations use the same XML text format to
describe an object (be it a layered data structure or something
with actual logic in it)... so that a VB SOAP server would understand
the message being created and sent my an Apache SOAP client??  or
that matter the Perl SOAP server and a C++ SOAP client???

--------------------"Hansen, Richard" wrote:
> 
> There are no Java "objects" involved. SOAP messages are transported XML as
> text. It is  totally up to the client to extract the message into whatever
> kind of data structure is appropriate. Check the MS Soap Toolkit on how to
> handle complex types.
> 
> Rick Hansen
> 
> > -----Original Message-----
> > From: Michael J. Hudson [mailto:mhudson@blueprinttech.com]
> > Sent: Monday, July 23, 2001 12:58 PM
> > To: soap-user@xml.apache.org
> > Subject: How do you retrieve complex Java objects from a non-Java
> > client.
> >
> >
> >
> > This question goes either way... that is... whether your SOAP server
> > is Java and your client is VB/C++/etc.  OR  you SOAP server is
> > VB/C++/etc.
> > and your client is Java.
> >
> > I understand how to map a Java object in Apache's SOAP using
> > its default
> > Bean Seralizer and the SOAP Mapping Registry... but if I'm not using
> > Java on the other side... how do I DESERIALIZE that object that is
> > in the XML SOAP file into a VB object or whatever on the
> > other side??
> > I've already done it with strings and primitive types... but
> > do objects
> > work the same way?
> >
> > In the MS-SOAP kit... do they have tools to deserialize a Java object
> > into a COM or VB object??    Are there any C++ kits??
> >
> > Thanks,
> >
> >
> > -----------------
> > Michael J. Hudson
> > Software/Framework Engineer
> > mhudson@blueprinttech.com
> >
> > cell-phone: 703.362.8039
> > voice-mail: 703.827.0638 ext. 4786
> > fax: 703.734.0987
> >
> > Blueprint Technologies
> > "Great software starts with great architecture"
> > http://www.blueprinttech.com
> >

Re: How do you retrieve complex Java objects from a non-Java client.

Posted by "Michael J. Hudson" <mh...@blueprinttech.com>.
I understand that everything is transported as an XML document.  

What I'm asking is this...
The serializer (in this case the Java Bean Serializer) is
choosing a format to describe the Java object in XML text.  Is this 
format standard??  I'm assuming that there really is no standard 
way of representing a generic language-neutral object over XML text.
I think Apache SOAP's serializer does a simple 
"<class-name><attribute-name>value<attribute-name><class-name>" type
of thing.  But that's really just a simple generalization of a 
layered data structure... not really an object object.  

In Apache SOAP... it seems that you can tell the SOAPMapRegistry how
to map Class A to a certain URN.  On the server-side, that URN is then
mapped to the REAL Java class.  I'm not quite sure how complicated
that Java object can be... and I guess that's part of my question.

In terms of MS SOAP and Apache SOAP interoperability... if in terms
of objects... that just means some kind of layered data structure 
where the public attributes are spit out into XML elements... then
fine.  But can we get any more complex than that?  

And can most SOAP implementations use the same XML text format to
describe an object (be it a layered data structure or something
with actual logic in it)... so that a VB SOAP server would understand
the message being created and sent my an Apache SOAP client??  or
that matter the Perl SOAP server and a C++ SOAP client???

--------------------"Hansen, Richard" wrote:
> 
> There are no Java "objects" involved. SOAP messages are transported XML as
> text. It is  totally up to the client to extract the message into whatever
> kind of data structure is appropriate. Check the MS Soap Toolkit on how to
> handle complex types.
> 
> Rick Hansen
> 
> > -----Original Message-----
> > From: Michael J. Hudson [mailto:mhudson@blueprinttech.com]
> > Sent: Monday, July 23, 2001 12:58 PM
> > To: soap-user@xml.apache.org
> > Subject: How do you retrieve complex Java objects from a non-Java
> > client.
> >
> >
> >
> > This question goes either way... that is... whether your SOAP server
> > is Java and your client is VB/C++/etc.  OR  you SOAP server is
> > VB/C++/etc.
> > and your client is Java.
> >
> > I understand how to map a Java object in Apache's SOAP using
> > its default
> > Bean Seralizer and the SOAP Mapping Registry... but if I'm not using
> > Java on the other side... how do I DESERIALIZE that object that is
> > in the XML SOAP file into a VB object or whatever on the
> > other side??
> > I've already done it with strings and primitive types... but
> > do objects
> > work the same way?
> >
> > In the MS-SOAP kit... do they have tools to deserialize a Java object
> > into a COM or VB object??    Are there any C++ kits??
> >
> > Thanks,
> >
> >
> > -----------------
> > Michael J. Hudson
> > Software/Framework Engineer
> > mhudson@blueprinttech.com
> >
> > cell-phone: 703.362.8039
> > voice-mail: 703.827.0638 ext. 4786
> > fax: 703.734.0987
> >
> > Blueprint Technologies
> > "Great software starts with great architecture"
> > http://www.blueprinttech.com
> >