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 Alick Buckley <Al...@lansa.com.au> on 2007/11/13 00:44:48 UTC

RE: Which version of WSDL specification and SOAP specification d os axis 1.4 support

Hi,

Apache Axis 1.4 supports:

	WSDL 1.1
	SOAP 1.1
	SOAP 1.2 Candidate Recommendation

http://wiki.apache.org/ws/FrontPage/Axis/StandardsSupported


Also some other bits and pieces ...

=========================================================================

WSDL 1.1 with SOAP 1.1 -  http://www.w3.org/TR/wsdl 

WSDL 1.1 with SOAP 1.2 -
http://schemas.xmlsoap.org/wsdl/soap12/soap12WSDL.htm

WSDL 2.0 with SOAP 1.1 - http://www.w3.org/TR/wsdl20-soap11-binding/

WSDL 2.0 with SOAP 1.2 -

=========================================================================

http://www.infoq.com/news/2007/07/wsdl-2-recommendation

WSDL 2.0 has finally been approved as an official World Wide Web Consortium
(W3C) recommendation on June 27 2007.

The Web Services Description Working Group has been working on the standards
for more than 6 years.

The recommendation was due on the 31st of December 2006 but has received an
extension to the 30th of June this year.

There has been much debate about whether WSDL 2.0 is the long awaited and
improved successor of WSDL 1.1 (the de facto standard up to now) or of no
relevance at all.

Mark Little has written an extensive post on this matter here on InfoQ.

The main changes from WSDL 1.1 to 2.0 are:

    * Changes in the naming of WSDL components, e.g. portType has been
renamed to interface
    * Removal of message constructs
    * Support of additional Message Exchange Patterns
    * Support of other type systems than XML Schema
    * HTTP binding, which supports POX(Plain Old XML)/REST-style services

The article "WSDL 2.0: A Pragmatic Analysis and an Interoperation Framework"
gives an up-to-date overview of the changes and discusses the
interoperability issue between WSDL 1.1 and 2.0:

Adopting WSDL 2.0 will lead to interoperability issues with existing WSDL
1.1 implementations.

Most Web Service implementations are based on WSDL 1.1 on both the producer
and consumer side.

WSDL 2.0 might offer some interesting changes.

However when looking at the history of SOAP it seems very unlikely that WSDL
2.0 will become relevant in the near future.

SOAP 1.2 has reached recommendation status in June 2003, 3 years after SOAP
1.1 had been submitted, and still it isn't widely used and sometimes not
even supported.

In addition one of the few if only implementations of WSDL 2.0 is provided
by Apache Axis2. Judging from past experience WSDL 2.0 has a long way to go.

=========================================================================

WSDL 1.1 - http://www.w3.org/TR/wsdl  (
http://www.w3.org/TR/wsdl11elementidentifiers/ )

	WSDL namespace for WSDL framework - http://schemas.xmlsoap.org/wsdl/


	WSDL namespace for WSDL SOAP binding -
http://schemas.xmlsoap.org/wsdl/soap/ 

	WSDL namespace for WSDL HTTP GET & POST binding -
http://schemas.xmlsoap.org/wsdl/http/ 

	Envelope namespace as defined by SOAP 1.1 -
http://schemas.xmlsoap.org/soap/envelope/

WSDL 2.0 - http://www.w3.org/TR/wsdl20/

=========================================================================

SOAP 1.1 to SOAP 1.2

http://hadleynet.org/marc/whatsnew.html

http://www.w3.org/2003/06/soap11-soap12.html

XML Namespaces

	The XML namespaces for the envelope and encoding schemas have
changed.

	This allows SOAP processors to easily distinguish between SOAP 1.1
and SOAP 1.2 messages and allows changes in the SOAP schema without
affecting 	existing implementations.

	SOAP 1.1 - <env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">

	SOAP 1.2 - <env:Envelope
xmlns:env="http://www.w3.org/2003/05/soap-envelope">

Trailers

	SOAP 1.1 allows additional elements to follow the SOAP Body element,
SOAP 1.2 disallows these.

	SOAP 1.1

	<e:Envelope ...>
	  <e:Header>
	    0 or more headers
	  </e:Header>
	  <e:Body>
	    message body
	  </e:Body>
	  other elements
	</e:Envelope>

	SOAP 1.2

	<e:Envelope ...>
	  <e:Header>
	    0 or more headers
	  </e:Header>
	  <e:Body>
	    message body
	  </e:Body>
	</e:Envelope>

Fault Codes

	SOAP 1.2 adds new fault codes:

	"DTDNotSupported" - generated when a received message contains a
document type declaration.

	"DataEncodingUnknown" - generated when a received message uses an
unrecognised value of the encodingStyle attribute.

	The SOAP 1.1 "Client" fault code is renamed "Sender" in SOAP 1.2.

	The SOAP 1.1 "Server" fault code is renamed "Receiver" in SOAP 1.2.

Hierarchical Fault Codes

	SOAP 1.1 allows extension of fault codes using a "dot" notation,
SOAP 1.2 disallows this and provides a more XML-like representation instead.

	SOAP 1.1

	<e:Fault>
	  <faultcode>e:Server.Memory</faultcode>
	  <faultstring>Out of memory</faultstring>
	</e:Fault>

	SOAP 1.2

	<e:Fault>
	  <faultcode>
	    <value>e:Receiver</value>
	    <subcode>
	      <value>p:Memory</value>
	    </subcode>
	  </faultcode>
	  <faultstring>Out of memory</faultstring>
	</e:Fault>

Misunderstood Header

	SOAP 1.2 adds a new standard header for reporting additional
information in "MustUnderstand" faults.

Processing Model

	SOAP 1.2 clarifies the processing model of SOAP 1.1. In particular a
SOAP node should process an incoming message according to the following
rules in the 	order given:

	   1. Determine the roles the node is to play. I.e. the values of
the role attribute for which it will assume processing liability.
	   2. Identify mandatory headers targetted to the node. I.e. header
marked with a mustUnderstand="true" attribute and a role attribute with a
value matching 	one of the roles determined in step 1.
	   3. Generate a "MustUnderstand" fault if one or more of the
headers identified in step is not understood. I.e. the node does not contain
software for 	processing the header.
	   4. Process headers and, if the node is the ultimate receipient,
the body of the message.
	   5. If the node is acting as an intermediary remove headers
targetted at the node and forward the message.

Versioning Mechanism

	SOAP 1.2 adds semantics for deailing with messages from different
versions of SOAP:
  
	A SOAP 1.2 node that receives a SOAP 1.1 message will respond with a
SOAP 1.1 envelope containing a SOAP 1.1 "VersionMismatch" fault.
	A SOAP 1.2 node that receives a message from any other version of
SOAP (including future versions) will respond with a SOAP 1.2 envelope
containing a 	SOAP 1.2 "VersionMismatch" fault and an Upgrade header with
a list of the supported envelope versions.

Content Type

	The media type for SOAP 1.2 has changed from text/xml used in SOAP
1.1 to application/soap+xml.

SOAPAction

	The SOAP 1.1 mandatory SOAPAction HTTP header has been removed in
SOAP 1.2.

	In its place is an optional action parameter on the
application/soap+xml media type.

HTTP GET

	SOAP 1.2 adds support for the use of HTTP GET in the SOAP HTTP
binding.

	An example of a HTTP GET request is shown below:

	GET /itinerary?reservation=1234567890 HTTP/1.1
	Host: travelcompany.com
	Accept: application/soap+xml

	Note the use of the Accept header to indicate that a SOAP response
is required. The SOAP node might respond with:

=========================================================================


-----Original Message-----
From: Ravi Krishnamurthy [mailto:ravik@savvion.com]
Sent: Tuesday, 13 November 2007 10:33 AM
To: axis-user@ws.apache.org
Subject: Which version of WSDL specification and SOAP specification dos
axis 1.4 support


Hello:
Could you tell me which version of WSDL and SOAP spec version does axis 
support.

Thanks,
Ravi


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org