The Web Services-Interoperability (WS-I) Basic Profile is a set of non-proprietary Web services specifications that promote interoperability.
WebSphere Application Server conforms to the WS-I Basic Profile 1.1.
The WS-I Basic Profile is governed by a consortium of industry-leading corporations, including IBM, under direction of the WS-I Organization. The profile consists of a set of principles that relate to bringing about open standards for Web services technology. All organizations that are interested in promoting interoperability among Web services are encouraged to become members of the Web Services Interoperability Organization.
Several technology components are used in the composition and implementation of Web services, including messaging, description, discovery, and security.
Each of these components are supported by specifications and standards, including
SOAP 1.1, Extensible Markup Language (XML) 1.0, HTTP 1.1, Web Services Description Language (WSDL) 1.1, and Universal Description, Discovery and Integration (UDDI). The WS-I Basic Profile specifies how these technology components are used together to achieve interoperability, and mandates specific use of each of the technologies when appropriate. You can read more about the WS-I Basic Profile at the WS-I Organization Web site. A link to this Web site is listed in Web services:
Resources for learning.
Each of the technology components have requirements that you can read about in more detail at the WS-I Organization Web site. For example, support for Universal Transformation Format (UTF)-16 encoding is required by WS-I Basic Profile. UTF-16 is a kind of Unicode encoding scheme using 16-bit values to store Universal Character Set (UCS) characters. UTF-8 is the most common encoding that is used on the Internet; UTF-16 encoding is typically used for Java and Windows product applications; and UTF-32 is used by various Linux and Unix systems. Unlike UTF-8, UTF-16 has issues with big-endian and little-endian, and often involves Byte Order Mark (BOM) to indicate the endian. BOM is mandatory for UTF-16 encoding and it can be used in UTF-8.
See how to modify your encoding from UTF-8 to UTF-16 if you need to change from UTF-8 to UTF-16. The following table summarizes some of the properties of each UTF:
Bytes | Encoding form |
EF BB BF | UTF-8 |
FF FE | UTF-16, little-endian |
FE FF | UTF-16, big-endian |
00 00 FE FF | UTF-32, big-endian |
FF FE 00 00 | UTF-32, little-endian |
POST http://www.whitemesa.net/soap12/add-test-rpc HTTP/1.1 Content-Type: application/soap+xml; charset=utf-16; action="" SOAPAction: Host: localhost: 8080 Content-Length: 562 OxFF0xFE<?xml version="1.0" encoding="utf-16"? > <soap:Envelope xmlns:soap="http://www.w3.org/2002/12/soap-envelope" xmlns:soapenc="http://www.w3.org/2002/12/soap-encoding xmlns:tns="http://whitemesa.net/wsdl/soap12-test" xmlns:types="http://whitemesa.net/wsdl/soap12-test/encodedTypes" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Body> <q1:echoString xmlns:q1="http://soapinterop.org/"> <inputString soap:encodingStyle="http://example.org/unknownEncoding" xsi:type="xsd:string"> Hello SOAP 1.2 </inputString> </q1:echoString> </soap:Body> </soap:Envelope>In the example code, 0xFF0xFE represents the byte codes, while the <?xml> declaration is the textual representation.
To learn more about the WS-Basic profile, including scenarios, UTF and BOM, see Web services:
Resources for learning.