Integrating SOAP into ebXML
Alan Kotok, XML.com
The Electronic Business XML (ebXML) project released three more technical specifications for review on 28 March, including a new draft document on messaging services. This part of ebXML -- formerly known as transport, routing, and packaging -- had made more early progress than the other technical features, but it also came under more pressure to include the work of other initiatives, specifically the Simple Object Access Protocol (SOAP). Enhancements to the original SOAP specification made it easier for ebXML to join forces. But it also marked something of a change in operation for ebXML, now more willing to make accommodations with other related initiatives in order achieve its goal of a single worldwide e-business standard.
SOAP in a Nutshell
SOAP provides a simple and lightweight method for exchanging structured data. It defines the message package, offers encoding guidelines for data used in applications connected by these messages, and provides rules for representing remote procedure calls (RPCs), a type of online interaction in a distributed environment. The authors (from Microsoft Corp., IBM and its Lotus Development subsidiary, DevelopMentor, and Userland Software) submitted version 1.1 of SOAP to the W3C as a Note in May 2000.
SOAP's importance extends beyond its definition of an XML-based message protocol. Several other e-business specifications based on XML -- most notably BizTalk and Universal Description, Discovery and Integration (UDDI) -- use SOAP for its messaging functions.
SOAP messages are XML documents defined in a mandatory SOAP envelope. Within the envelope are a SOAP header and body. SOAP messages must have a body, but the header is not required in all instances. The XML namespace, http://schemas.xmlsoap.org/soap/envelope/ is used for the envelope. Namespaces allow access of multiple document type definitions (DTDs) or schemas in an XML document by providing a unique prefix that prevents duplication of element or attribute names.
The SOAP envelope serves as the first element in the document and thus identifies it as a SOAP message. The SOAP body contains the information transmitted to the receiver. Each message must have a body, so there cannot be an empty SOAP message. If the message has a SOAP header, it appears as the first child element in the envelope, and before the body.
The SOAP header allows the sender to add management or control information in the message, important for routing, security, or proper handling by the recipient. This element has very few rules of its own, but relies on XML namespaces identified by the sender for its semantics.
Reversing an Earlier Decision
Including SOAP in the messaging specifications reversed an earlier decision by the ebXML messaging project team to develop its own message structure. The team had originally proposed an enveloping format combining Multipurpose Internet Mail Extensions (MIME) for the overall message envelope as well as header and body containers. In the original plan, the header container written in MIME would have XML data providing identification and description of the message.
At the August 2000 ebXML meeting in San Jose, California, Rik Drummond of The Drummond Group
Essential JavaFX
Get started building rich Web apps quickly with an introduction to the power of JavaFX key features -- scene node graphs, nodes as components, the coordinate system, layout options, colors and gradients, custom classes with inheritance, animation, binding, and event handlers.Enter now!
The Nomadic Developer
Consulting can be hugely rewarding, but it's easy to fail if you are unprepared. To succeed, you need a mentor who knows the lay of the land. Aaron Erickson is your mentor, and this is your guidebook. Enter now!












