Question
· Apr 23

How to Configure an Incoming SOAP Service via Management Portal

I am attempting to configure an inbound service that utilizes the EnsLib.SOAP.GenericService class. This service receives HL7-v3 content wrapped in SOAP requests. Despite reading the documentation on configuring SOAP services, I am still confused.

In my current configuration item "Fr_Centrak_RTLS", I have ‘Enable Standard Requests’ checked, ‘Pool Size’ set to 0, and the port is unspecified.

 

 

 

I have also configured a web application with the following details:

 

My challenge is determining the correct URL address for sending SOAP traffic to this service. Additionally, I do not want any form of authentication for this setup. 

The URL I attempted to test was: http://localhost:52773/csp/soappassthrough/EnsLib.SOAP.GenericService.cls?CfgItem=Fr_Centrak_RTLS which returned an HTTP/1.1 500 Internal Server Error.

Here:

  • /csp/soappassthrough represents my web application.
  • Fr_Centrak_RTLS corresponds to the business service within the production that I am trying to direct traffic to.

Please advise me on the correct URL format to send traffic to this inbound service in my production environment.

Product version: IRIS 2023.1
Discussion (7)3
Log in or sign up to continue

I think you need to enable/allow Unauthenticated access for Web Applications.

I can see that in Web Application configuration in "Allowed Authentication Methods" the option "Unauthenticated" is not available, this means is not enabled/allowed systemwide.

In Management Portal check System Administration > Security > System Security > Authentication/Web Session Options, and see if "Allow Unauthenticated access" (first option/checkbox) is enabled.

After that, enable the option "Unauthenticated" in the "Allowed Authentication Methods" of the Web Application.

Regarding the documentation looks like you need to configure the port in the Business Service:

(Configured Web Services exposed using the SOAP Inbound Adapter may also be invoked with this URL parameter but because each configured Inbound Adapter listens on its own TCP/IP port this parameter is just a safety check for them.)

https://docs.intersystems.com/iris20241/csp/documatic/%25CSP.Documatic.c...

Adding this bit of information to help out others who are developing an inbound SOAP service using the SOAP inbound adapter. In order to POST information to the Production Service, you will need to format your URL similarly: https://BaseURL/csp/healthshare/MBSDEV/soappassthrough/EnsLib.SOAP.GenericService.cls?CfgItem=Fr_Centrak_RTLS

  • Where BaseURL is the CSP gateway.
  • /csp/healthshare/MBSDEV is the Namespace where the service is running.

  • /soappassthrough is my web application for my SOAP Service. In this example I have not configured Application Role Permissions.

  • /EnsLib.SOAP.GenericService.cls?CfgItem=Fr_Centrak_RTLS: EnsLib.SOAP.GenericService.cls is the class of the inbound service, and I have used ?CfgItem= to specify the name of my production service.