Re: Reverse-engineering a SOAP app into Tomcat/Axis

Paul Libbrecht <[email protected]>
Newsgroups gmane.text.xml.general
Message-ID <[email protected]>
David,

I think you're not at the right forum here but I may mistake.
I think the Axis-users mailing list would be much more appropriate and 
responsive.

In principle a WSDL file would generate you the stubs... otherwise you 
need to put a hand on the XML there, e.g. as DOM, SAX-stream, or 
something else and interpret it in some way. Supposedly JAXB is the kind 
of thing that would do this work. Digester may also... there are 
thousand others.
Have you considered also ActiveSoap? It may be somewhat too fresh but is 
probably the most performant engine you could find around as it is based 
on streams only.

paul


David Kerber wrote:
> We have a functioning SOAP client/server system written in Borland Delphi which isn't scaling very well at all; it works fine until we get to about 45-50 clients at a time.  I'm a newbie with SOAP but I have been tasked with porting the server side to a Tomcat/Axis system, while keeping it compatible with the Delphi client.  I've been working on this for a week, and can't seem to get a deserializer to work for the requests as the client sends them.  If somebody could help me set up a skeleton java class for the server side (or point me to a reverse-engineering tool which would do it), I would
> be extremely grateful.  I don't need help with coding the individual methods on the server; I can handle that part.  I just can't figure out how to get the stubs and class(es) set up properly to allow data to flow back and forth.
>
> In the below messages, you can see that some of the data is sent as
> attributes, and some as elements.  The Delphi programmers did it that way to
> save a few bytes of bandwidth, and it is probably the biggest problem I'm
> having, to retrieve the data from the attributes.
>
> The client's request looks like:
>
> <?xml version="1.0"?>
> <SOAP-ENV:Envelope 
>         xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
>         xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>         xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
> <SOAP-ENV:Body 
>         SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
>         xmlns:NS2="urn:EDDRI">
>     <NS1:DataLine xmlns:NS1="urn:EDDIf-IEDDSrvIf">
>         <FD href="#1"/>
>     </NS1:DataLine>
>     <NS2:TES_Req id="1" xsi:type="NS2:TES_Req" XID="43">
>         <Site xsi:type="xsd:string">
>             90555//270
>         </Site>
>         <Time xsi:type="xsd:string">
>             2004-06-23 00:01:37
>         </Time>
>         <Data xsi:type="xsd:string">
>             E,0,10,040623,000137
>         </Data>
>     </NS2:TES_Req>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
>
> And the corresponding response from the server is:
>
> <?xml version="1.0"?>
> <SOAP-ENV:Envelope 
> 	xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
> 	xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
> 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
> 	xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
> <SOAP-ENV:Body 
> 	SOAP-ENC:encodingStyle="http://schemas.xmlsoap.org/soap/envelope/">
>   <NS1:DataLineResponse 
> 	xmlns:NS1="urn:EDDIf-IEDDSrvIf" 
> 	xmlns:NS2="urn:EDDRI">
> 	  <NS2:TES_Rsp id="1" 
> 		xsi:type="NS2:TES_Rsp" XID="43">
>   		<Status xsi:type="xsd:int">0</Status>
> 	  </NS2:TES_Rsp>
> 	  <return href="#1"/>
>   </NS1:DataLineResponse>
>
>   </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
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.