Is there a global setting in Ensemble that affects the presence (or absence) of SOAP headers

Hi

We have just completed a migration of a test environment from Ensemble 2012 to Ensemble 2017 on a new server. This is the last in a series of migrations but the first to encounter this particular issue. All web clients making SOAP requests to a particular external web service are receiving a fault that states:

The SOAP action specified on the message, '', does not match the HTTP SOAP Action, 'http://<expected target service action follows here>'.

Further investigation using ^ISCSOAP and a comparison with other working environments reveals that the SOAP request is completely missing the <SOAP-ENV:Header> element.

This absence of a SOAP header occurs for multiple Operations in more than one Namespace for this newly migrated server, yet it is present in every other environment, all of which use the same source code.

So, is there a single installation-wide setting that could be causing this behaviour?

(All environments are installed on Solaris machines, there are 3 environments that correctly include the SOAP header and just one that doesn't. All SOAP interactions with this external service are conducted over https, and require credentials in an http Authorization header.)

Thanks in anticipation of any suggestions

  • 0
  • 0
  • 47
  • 0
  • 1

Answers

After much investigation deep into the bowels of Ensemble's SOAP handling with no solutions found, I made the decision to build a new namespace with fresh databases to see what would happen, and the problem didn't appear. So, cause unknown, but seems likely to have been something screwy about the databases (which it turned out had a questionable origin, rather than being freshly created). The infamous question "Have you tried turning it off and then on again?" comes to mind although in this case the solution was a little more drastic.