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 ...