Calling an Axis Web Service from SOAP

M

MikePA

Hello folks,

I'm pretty new to Web Services; I hope this is an appropriate forum
for my question. With toil and with lots of help from a friend I
managed to set up a small WS of my own. I have some clients that issue
XML-RPC calls to the service by way of Apache SOAP. I've been using
the normal (?) SOAP approach where you fill up a Call object with the
service's URI, the remote method's name and parameters, etc., and
finally supply the service's URL and send the call on its way.

Now I'm trying to talk to another person's service that uses Axis, and
my first instinct is to quickly determine their service's URL and URI
and make note of the signature of the remote method I want to invoke.
Then I can just make the call the same way I always have...right? But
I do not see the service's URI anywhere, even in a sample client
program. What I see is a different way of issuing calls wherein you
create a Service object and attach a Call to that, and then fill in
the specifics of your call. You supply the endpoint URL, but no
reference is made to a URI. Nor can I find a URI in the WSDL file or
the deployment descriptor (*.wsdd). Thus I cannot call this service
the way I've been calling my own.

Do I need to bite the bullet and learn some new concepts here? Or do I
need to install Axis on my machine and model my own RPC on their
sample client?

Thanks in advance to anyone who shares their advice...
 
S

Sudsy

MikePA said:
Hello folks,

I'm pretty new to Web Services; I hope this is an appropriate forum
for my question. With toil and with lots of help from a friend I
managed to set up a small WS of my own. I have some clients that issue
XML-RPC calls to the service by way of Apache SOAP. I've been using
the normal (?) SOAP approach where you fill up a Call object with the
service's URI, the remote method's name and parameters, etc., and
finally supply the service's URL and send the call on its way.

Now I'm trying to talk to another person's service that uses Axis, and
my first instinct is to quickly determine their service's URL and URI
and make note of the signature of the remote method I want to invoke.
Then I can just make the call the same way I always have...right? But
I do not see the service's URI anywhere, even in a sample client
program. What I see is a different way of issuing calls wherein you
create a Service object and attach a Call to that, and then fill in
the specifics of your call. You supply the endpoint URL, but no
reference is made to a URI. Nor can I find a URI in the WSDL file or
the deployment descriptor (*.wsdd). Thus I cannot call this service
the way I've been calling my own.

Look for the <service> tag in the WSDL and the contained <port> tag
with a "binding" attribute.
Then again, the spec permits separate descriptors for the definition
and implementation parts.
Without additional info, I can't offer more advice; I'm using IBM's
WSDK under Eclipse and it does all the "nasty" work for me...
 

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

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top