soap and raw XML

G

gelbeiche

Hi,

I have a question regarding the usage of webservices.
Our company offers some webservices which are generated from
our business logic classes.
Let us say we have an class X with a method doIt that have
a signature int doIt(int custNumber) the class X is marked for
generating a webservice from this class and the build process
does it.

The interface javax.xml.rpc.handler.Handler is implemented in a way
that every incoming and every outgoing webservice request is
logged in a database. The full soap envelope and soap body
is stored in the database as string.

I hope this introduction is enough to demonstrate my problem by
an example:
Assuming the webservice offers the creation of an order.
The webservice client requests the webservice and let say the creation
of the order fails.
Now we have an entry in the database with the SOAP message and
the information which method was requested.
And the wish is to rerun the order creation by rerun the webservice
request (in the role as webservice provider not the as the origin
requester). However the concrete parameter list of the webservice
request is now in an serialized form as String inside the database.
And my problem is: What must I do request the webservice with this raw
XML ?
Our build process also creates some client stub code. But the webservice
client code also expects a list of parameters like the method from our
business logic class from which the webservice code is created.

I think it must be possible to request the webservice with raw XML
because a SOAP::Lite client I wrote in perl is able to do it.
There I have two ways to request the webservice:
a) with a typed parameter list
b) with a raw XML string (which corresponds to the SOAP body)
Both works.

I would be happy about every code snippet !

Thomas
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

gelbeiche said:
Let us say we have an class X with a method doIt that have
a signature int doIt(int custNumber) the class X is marked for
generating a webservice from this class and the build process
does it.

The interface javax.xml.rpc.handler.Handler is implemented in a way
that every incoming and every outgoing webservice request is
logged in a database. The full soap envelope and soap body
is stored in the database as string.
Assuming the webservice offers the creation of an order.
The webservice client requests the webservice and let say the creation
of the order fails.
Now we have an entry in the database with the SOAP message and
the information which method was requested.
And the wish is to rerun the order creation by rerun the webservice
request (in the role as webservice provider not the as the origin
requester). However the concrete parameter list of the webservice
request is now in an serialized form as String inside the database.
And my problem is: What must I do request the webservice with this raw
XML ?
I think it must be possible to request the webservice with raw XML
because a SOAP::Lite client I wrote in perl is able to do it.

You could use HttpURLConnection to do a POST of the raw
XML (I think you need to set one or two HTTP headers, but you
can sniff those with TCPMon).

Arne
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

Forum statistics

Threads
473,774
Messages
2,569,596
Members
45,143
Latest member
SterlingLa
Top