Question
· Mar 28, 2023

Help with SOAP Security and WS-Policy

Hi,

I know little about SOAP security and am trying to apply a WS-Policy to a simple HL7 web service, but when I do I get object script errors.

The most latest one being:

ObjectScript error: <UNDEFINED>zValidateTransport+4^%SOAP.Security.Policy.1 *%request

The web service, shown below, simply extends  UHSx.Common.Services.Twinkle.SOAP, and works perfectly well using basic HTTPS over SSL/TLS:

Class UHSx.Common.Services.Twinkle.SOAP Extends UHSx.Common.Services.HL7.SOAP
{ Parameter LOCATION = "https://ryr-hc-test.sussex.nhs.uk:50800/UHSX_EPR/Twinkle_QRY_HL7_Web_Ser..."; Parameter SERVICENAME = "TwinkleHL7SOAP"; Method Send(Input As %Stream.GlobalCharacter) As %Stream.GlobalCharacter [ WebMethod ]
{
Set tSC=..ProcessInput(Input,.tStreamOut) Do:$$$ISERR(tSC) ..ReturnMethodStatusFault(tSC)
Quit tStreamOut
}

However when I apply the WS-Policy, shown below, I get the error shown earlier:

/// UHSx.Common.Services.Twinkle.SOAPConfig
/// Configuration class for UHSx.Common.Services.Twinkle.SOAP
Class UHSx.Common.Services.Twinkle.SOAPConfig Extends %SOAP.Configuration [ ProcedureBlock ]
{ XData service
{
<cfg:configuration xmlns:cfg="http://www.intersystems.com/configurationxmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702xmlns:wsp="http://www.w3.org/ns/ws-policyname="service">
  <cfg:service classname="UHSx.Common.Services.Twinkle.SOAP">
    <wsp:Policy>
      <sp:TransportBinding>
        <wsp:Policy>
          <sp:TransportToken>
            <wsp:Policy>
              <sp:HttpsToken>
                <wsp:Policy>
                  <sp:RequireClientCertificate/>
                </wsp:Policy>
              </sp:HttpsToken>
            </wsp:Policy>
          </sp:TransportToken>
          <sp:AlgorithmSuite>
            <wsp:Policy>
              <sp:Basic128/>
            </wsp:Policy>
          </sp:AlgorithmSuite>
          <sp:Layout>
            <wsp:Policy>
              <sp:Strict/>
            </wsp:Policy>
          </sp:Layout>
          <sp:IncludeTimestamp/>
        </wsp:Policy>
      </sp:TransportBinding>
    </wsp:Policy>
  </cfg:service>
</cfg:configuration>
} }

Any help and advice much appreciated.

Neil
 

Product version: IRIS 2021.1
$ZV: IRIS for Windows (x86-64) 2021.1.1 (Build 324U) Thu Feb 24 2022 13:18:53 EST [HealthConnect:2.1.0] [HealthConnect:2.1.0]
Discussion (0)1
Log in or sign up to continue