Describe the role of the WS-I Basic Profile when designing J2EE Web services.

WS-I is an open industry effort chartered to promote Web Services interoperability across platforms, applications, and programming languages. The organization brings together a diverse community of Web services leaders to respond to customer needs by providing guidance, recommended practices, and supporting resources for developing interoperable Web services.

Basic Profile is organized around base specifications. Profile adds constraints and guidance as to their interoperable usage based upon implementation experience.

Messaging: XML Representations of SOAP Mesasge

Areas Clarified:

SOAP encodingStyle Attribute

SOAP's use of XML: DTDs and PIs

SOAP Trailers

SOAP Trailers: Incorrect Usage


<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' >
    <soap:Body>
        <p:Process xmlns:p='http://example.org/Operations' />
    </soap:Body>
    <m:Data xmlns:m='http://example.org/information' >
        Here is some data with the message
    </m:Data>
</soap:Envelope>
					
					

SOAP Trailers: Correct Usage


<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' >
    <soap:Body>
        <p:Process xmlns:p='http://example.org/Operations' >
            <m:Data xmlns:m='http://example.org/information' >
                Here is some data with the message
            </m:Data>
        </p:Process>
    </soap:Body>
</soap:Envelope>
					
					

SOAPAction

SOAPAction Correct Usage. Example 1.

WSDL:


<soapbind:operation soapAction="foo" />
					
					
HTTP header field:
SOAPAction: "foo"					
					

SOAPAction Correct Usage. Example 2.

WSDL:


<soapbind:operation />
					
					
or

<soapbind:operation soapAction="" />
					
					
HTTP header field:
SOAPAction: ""					
					

Messaging: Use of SOAP in HTTP

Areas Clarified:

Identifying SOAP Faults

HTTP Methods and Extensions

HTTP and TCP ports

HTTP Success Status Codes

HTTP Redirect Status Codes

HTTP Server Error Status Codes

Service Description: Document Structure

WSDL Schema Definitions

Placement of WSDL import Element

Correct Usage. Example 1.

					
<definitions name="StockQuote" targetNamespace="http://example.com/stockquote/definitions">
	
	<import namespace="http://example.com/stockquote/base" 
		location="http://example.com/stockquote/stockquote.wsdl"/>
	
	<message name="GetLastTradePriceInput">
		<part name="body" element="..."/>
	</message>
	...
</definitions>

					

Correct Usage. Example 2.

					
<definitions name="StockQuote"
	...
	xmlns="http://schemas.xmlsoap.org/wsdl/">

	<types>
		<schema targetNamespace="http://example.com/stockquote/schemas"
			xmlns="http://www.w3.org/2001/XMLSchema">
			...
		</schema>
	</types>
	
	<message name="GetLastTradePriceInput">
		<part name="body" element="tns:TradePriceRequest"/>
	</message> 	
	...	
	<service name="StockQuoteService">
		<port name="StockQuotePort" binding="tns:StockQuoteSoap">
			....
		</port>
	</service>
</definitions>

					

WSDL Extensions

Service Description: Types

soapenc:Array

Service Description: Messages

Binding and Parts

Declaration of part elements

Incorrect Usage Examples:


<message name="GetTradePriceInput">
	<part name="tickerSymbol" element="xsd:string"/>
	<part name="time" element="xsd:timeInstant"/>
</message>
					
					

<message name="GetTradePriceInput">
	<part name="tickerSymbol" element="xsd:string"/>
</message>
					
					

Correct Usage Example:


<message name="GetTradePriceInput">
	<part name="body" element="tns:SubscribeToQuotes"/>
</message>
					
					

Service Description: PortTypes

Order of part elements

Service Description: Bindings

Use of SOAP Binding

Service Description: SOAP Binding

HTTP Transport

Consistency of style Attribute

Encodings and the use Attribute

Default for use Attribute

Child Element for Document-Literal Bindings

One-way Operations

Service Description: Use of XML Schema

Use of XML Schema

Professional hosting     Belorussian informational portal         Free SCWCD 1.4 Study Guide     Free SCBCD 1.3 Study Guide     SCDJWS 1.4 Quiz     Free IBM Certified Associate Developer Study Guide     Free SCJP 5.0 (Tiger) Study Guide     Free Mock Exam Engine     IBM Test 000-287. Enterprise Application Development with IBM WebSphere Studio, V5.0 Study Guide     IBM Test 000-255. Developing with IBM Rational Application Developer for WebSphere Software V6 Study Guide