Issue with Progress Sonic ESB 7.6

If you get ArrayIndexOutOfBoundsExceptions, you will need to exclude the failing method from JIT compilation as described here.


Using Apache Commons Logging or Log4J with Custom Services

Dispatching Messages Asynchronously in Progress Sonic ESB

All messages placed in the Outbox by a service are sent at one time. A service can create multiple messages and address them to multiple endpoints. None of these messages are sent until the entire service (XQServiceContext ctx) method has completed.

(from the page 89 of the Developer’s Guide)

[The Asynchronous Event Dispatch API] allows message dispatching at any time after service initialization and provides direct access to the framework dispatch mechanism instead of requiring messages to be placed in the service Outbox.

(from the page 321 of the Developer’s Guide)

public void service(final XQServiceContext ctx) {
  final XQMessage msg = ...

  final XQDispatch dispatcher = ctx.getDispatcher();


There is a SentWithDispatch metric in 7.6 that is also of interest.

Headers vs. Properties in ESBs

Headers are commonly used for service-level information (e.g. HTTP or JMS headers copied from incoming messages) and properties, for message-level information (e.g. data saved from previous messages in the itinerary) that could be instead added to messages.

While Progress Sonic ESB stores them together in XQ messages, both Fuse ESB and JBossESB store headers and properties apart.

DataDirect Technologies Breaks SOA Price Barrier for Mainframes by Eliminating Costs for Web Services Processing

With the DataDirect Shadow product’s patent-pending design, processing associated with SOA integration and data queries can be diverted from the mainframe’s General Purpose Processor (GPP) to be handled by the zIIP specialty engine – which does the work without using any of the mainframe licensed MIPs capacity.

Wouldn’t it be great if Progress Sonic ESB and DataDirect Shadow z/Services were integrated? There could also be service types for DataDirect XQuery and DataDirect XML Converters.

It ain’t really bad news for ESBs that web services can be created downstream, there is plenty to do in the middle.

Progress Apama(R) CEP and Sonic(R) ESB to Automate and Improve Real-Time Shipping Scheduling for Royal Dirkzwager

The Progress Apama® Complex Event Processing (CEP) platform will monitor the information feeds from the Sonic ESB seamlessly in real-time and detect spatial and time-based event patterns that may be of importance to customers.

You don’t see Apama being used outside the financial industry often enough.

Good luck with the project.

SOAPAction Header in Outbound Calls in Progress Sonic ESB 7.5

7.5 doesn’t surround the value of the SOAPAction header in quotes, as confirmed by solution Solution #S4944. Protheus, for example, can’t process these requests.

Although SOAP 1.1 doesn’t require the quotes, WS-I Basic Profile 1.0 recommends them.

If you are using 7.6, the workaround in Solution #S8958 can be used.