I came across a comment on my blog about using SOAP action header to do message routing. Do not rely on SOAP action header for message routing purposes. The HTTP binding SOAP action is not available in the SOAP 1.2 specification and the WS-I basic profile deprecates it too. Send an empty action header string [...]
Archive for April, 2007
SOA Tips: Do not use the SOAP action header for message routing purposes
Posted in The Web of Services on Monday, April 30, 2007 | 1 Comment »
SOA Tips: Be aware of SOAP Verbosity (Message size overhead)
Posted in The Web of Services on Sunday, April 29, 2007 | Leave a Comment »
Depending on the nesting levels of the parameter types, XML and SOAP message overhead can grow significantly. As I mentioned in previous blog entries, document/literal always performs much better than other style/use models. Keep in mind that XML data cannot be optimized too much. When using SOAP, the SOAP envelope has to be extracted, the [...]
SOA Tips: As much as possible, avoid using Base64 Encoded/Raw bytes in the message Body
Posted in The Web of Services on Saturday, April 28, 2007 | Leave a Comment »
At times an XML could contain characters or declarations that are not supported by SOAP or the runtime – examples are, DTD declarations, binary data, locale specific character encoding, etc. In such cases you may have to use Base64 encoding of the raw bytes into the message payload. You have to be aware of the [...]
SOA Tips: Use strongly typed messages – Avoid use of xsd:any to represent the entire message Body
Posted in The Web of Services on Friday, April 27, 2007 | Leave a Comment »
As I mentioned in my previous JBI/SOA Tip-Use strongly typed messages – Avoid use of xsd:string to represent the entire message Body, you have to clearly define a strongly typed XML schema for the messages that you exchange between a provider and a consumer and ensure that each of your message exchanges are strongly typed. [...]
SOA Tips: Use strongly typed messages – Avoid use of xsd:string to represent the entire message Body
Posted in The Web of Services on Thursday, April 26, 2007 | Leave a Comment »
You have to clearly define a strongly typed XML schema for the messages that you exchange between a provider and a consumer and ensure that each of your message exchanges are strongly typed. This also ensures that you establish well-defined and well-understood semantics for communication between your external partners even though each of your internal [...]
SOA Tips: Do not mix style/use in the same service
Posted in The Web of Services on Tuesday, April 24, 2007 | Leave a Comment »
The ‘style‘ attribute determines the way in which the SOAP Body is constructed. If the value of the style attribute is rpc then the messages exchanged contain operation name and parameters type values, and if the value of the style attribute is document, the messages exchanged contain business document(s). The ‘use‘ attribute determines whether the [...]
SOA Tips: Expose Coarse-Grained Service Interfaces to external Clients
Posted in The Web of Services on Tuesday, April 24, 2007 | Leave a Comment »
Expose Coarse-Grained Service Interfaces to external Clients. Instead of exposing multiple interfaces that effect small state changes in a system, expose fewer service interfaces that can affect complete state changes in the system. This will reduce the volume of data exchanges between a service and its external clients and will significantly reduce the cost of [...]
SOA Tips: Expose Request/Response Message Exchange Patterns to external Clients
Posted in The Web of Services on Monday, April 23, 2007 | Leave a Comment »
When exposing a service interface to external clients, always expose Request/Response Message Exchange Patterns (MEPs) as much as possible since they work best with HTTP transports and provide interoperability. You should keep in mind that One-Way Message Exchange Patterns are for non-HTTP transports. When constructing your WSDL, always stay away from exposing solicit-response and notification [...]