You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by ajack <aj...@openbiz.biz> on 2002/04/24 00:01:02 UTC
AXIS (Calling via WSDL) talking to "old" Web Services
Hi,
I am attempting to call all the Web Services I find in the www.xmethods.com
list by consuming the WSDL for each, and then creating a Call object for
each operation. As such I bump up against a wide variety of implementations,
including a bunch of "old" (SOAP 2.2) services.
I have various problems, but the most confusing right now is that of
"dispatching" (how an implementations listener dispatches to a known service
and how it works [or does not]. I know that SOAP 2.2 used to take the "URN"
(or some URN, I get lost in the sea of UR* in this stuff) and determines
which service/descriptor to use, and that AXIS appears to identify the
service by the URL (e.g. /axis/service/X), but ..... I do not know how this
is represented in WSDL, and/or if there is a WSDL convention or standard for
this. [I've trawled the WSDL specification, but can not find anything that
specifies how this is done, am I just missing it?]
I've tried trawling the AXIS and WSDL4J code, but I can't seem to figure out
exactly what is going on. I get a bunch of errors back from SOAP 2.2 servers
that saying:
SOAP Fault:
Code=http://schemas.xmlsoap.org/soap/envelope/:Server: Actor=null:
String=no service found with address .......
I beleive (from eyeballing what is occuring) that WSDL4J/AXIS are using the
service element's name attribute as the namespace (see ns1 below) and that
this is what SOAP 2.2 is using to "dispatch" upon.
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
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>
<ns1:getQuote
xmlns:ns1="net.xmethods.services.stockquote.StockQuoteService">
<symbol xsi:nil="true"/>
</ns1:getQuote>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Is this correct behaviour? The owner of this service believes not, but I can
not find documentation to tell me exactly what ought be occuring.
Do .Net and AXIS both work off the "soap:address location" to dispatch to a
service, and/or do other recent implmentations [i.e. not jsut SOAP 2.2] do
other things?
Can somebody give me guidance on this area?
regards,
Adam
--
Open Business Interchange: <http://www.openbiz.biz>
The Revolutionary B2Bi Web Service ...