5 Followers · 202 Posts

SOAP (abbreviation for Simple Object Access Protocol) is a messaging protocol specification for exchanging structured information in the implementation of web services in computer networks.

Learn more.

Question Glenda Anaya · Jun 9, 2016

Hi,

We recently updated Ensemble, on our Unix DEV server , from version 2013.x to 2015.2.3 (Build 855U) and when we test our SSL/TLS configuration we get the following error:

ERROR #729: Certificate /qmd/ens_chldev_1/mgr/SILCert/SILCSSSJR-CER.cer is not valid for TLS Web client authentication .

The certificate was working fine before the update in DEV and it is working fine in our PROD Unix server with Ensemble 2012.x.  Any ideas why we are getting this error?

Regards

5
0 2344
Question Colin Brough · Oct 17, 2023

Pointers please for debugging a SOAP web-client.

We have several clients in different productions all accessing a web-service. We are trying to add another client in a new production, and its not working. The messages between the relevant Process and the SOAP web-client Operation are the same in the working and the non-working productions. But the web-service is reporting an XML parsing error to the non-working production. Here's the error as reported in the SOAP web-client Operation...

Is there any way to see the output of the web-client Operation - what Ensemble is actually sending out?

SOAP

3
0 443
Question Colin Brough · Oct 6, 2023

We are trying to call a SOAP web-service from Ensemble, following the documentation here: Creating an Ensemble Web Client | Creating SOAP Services and Web Clients with Ensemble | Caché & Ensemble 2018.1.4 – 2018.1.8 (intersystems.com)

While the version of Studio on our system doesn't display exactly the same options as described when using the SOAP Wizard, it did create a set of classes that look to be covering the correct bases - a set of Request and Response classes relating to the methods presented by the web-service, as discovered via the WSDL, and an Operation class and a few (9) SOAP

2
0 256
Question Luis Angel Pérez Ramos · Oct 11, 2023

Does anybody know if there is a wizard to create SOAP client/server web services for IRIS from VS Code? I would like to not use Studio anymore but for SOAP web services looks like there is no alternative in VSCode.

Thank you in advance!

4
0 846
Question Christopher Kegg · Sep 15, 2023

I recently created a new foundation namespace in my IRIS for Health instance.  I am noticing that Registry entries such as the Service and XUA registries (HS.Registry.Service.SOAP and HS.IHE.XUA.Config) from my previously created foundation namespace are not available in my new namespace.  Is there a setting that controls this, or is there a way to map these registry values to my new namespace?  Other developers I talked with on my team expected these registry entries available to all namespaces and were surprised when I reported they were not.  

0
0 191
Question Stella Ticker · Aug 16, 2023

I created a web service and used the Studio SOAP Wizard to generate a client from the WSDL file of the service. But the client is throwing the error as shown below

 WebServiceClientClass '' could not be instantiated, or the WebServiceURL Location could not be determined

What have I missed?

Is there a better way to create a client?

2
0 386
Discussion Robert Barbiaux · Jul 7, 2023

Hi everyone,

This one had me breaking a sweat 😅

When a SOAP request has a %Stream.GlobalBinary property, it fails to serialize to base64 when stream is larger than ~43MB with 

ERROR #6301: SAX XML Parser Error: <MAXSTRING>xeWrite+7^%occXMLInternal

Unless you enable the following parameters :  

Parameter BASE64LINEBREAKS = 1;Parameter USEPPGHANDLER = 1;

The first one instructs %SOAP.WebBase to insert line breaks in the XML text, and the second one to use globals rather than local array memory during serialization (to avoid <STORE> error, depending on your available $zstorage)

Enabling both in my

0
0 321
Question Yone Moreno · May 24, 2023

Hello,

We currently have the following scenario: We have a bussiness SOAP Operation, where we get a SAML String and we convert it into a %SAML.Assertion object correctly.

👩‍💻👨‍💻 We would need to send the SAML Assertion inside the SOAP Header to the Target System.

First of all thanks for reading, and thanks for answering.

We currently have opened Log Soap and we do not observe it being added to the SOAP Header, as you would observe in the following Log Soap:

05/24/2023 08:53:37 *********************
Output from Web client with SOAP action = urn:ihe:iti:2007:CrossGatewayQuery
<?xml version="1.0" en
1
0 294
Question Yone Moreno · May 22, 2023

Good afternoon,

first thank you from heart and mind, mind and heart; for reading, thinking, reflecting, responding, and above all explaining a possible solution and/or documentation to address this doubt.

We would need a way to get inside a SOAP Web Service the SAML Assertion, and then, send it directly to the endpoint throught a SOAP Operation.

Currently we have researched and developed how to get the SAML Assertion with the following code:

Class Servicios.RESNS.ConsultaRecetas Extends EnsLib.SOAP.Service [ ProcedureBlock ]
{

/// This is the namespace used by the ServiceParameter NAMESPACE
1
0 442
Question Stella Ticker · May 12, 2023

Has anyone had success with passing in a collections  property within a SOAP request to a Soap Service in Ensemble? Please reply with how you set up that collections property. I am able to successfully send a SOAP request correctly containing the elements of the collection property to Cache, as seen in a custom soap log file which I am using to troubleshoot. But the collection property in the  Ensemble request is not getting serialized, meaning MyContainers has nothing.

My.Request consists of a property, MyContainers, which can have 0 or more Containers (My.Container)

When MyContainers  is of

1
0 223
Article Eduard Lebedyuk · Apr 17, 2017 4m read

In this article I'll cover testing and debugging Caché web applications (mainly REST) with external tools. Second part covers Caché tools.

You wrote server-side code and want to test it from a client or already have a web application and it doesn't work. Here comes debugging. In this article I'll go from the easiest to use tools (browser) to the most comprehensive (packet analyzer), but first let's talk a little about most common errors and how they can be resolved.

2
5 3889
Question Punit · Apr 24, 2023

I have a %GlobalBinaryStream object that I'm trying to save as a local file after being received through a SOAP Web Service.

To do this, I created a %Stream.FileBinary object and wanted to set where the stream copied to this object would be saved by using either the DefaultStreamDir() ClassMethod or the NewFileName() ClassMethod. However, the documentation isn't very helpful on how to use these ClassMethods.

Right now, I have the below code:

set localStream = ##class(%Stream.FileBinary).%New()
set st = localStream.CopyFromAndSave(file) /// file is the %GlobalBinaryStreamObject
4
0 335
Question Punit · Apr 14, 2023

I'm trying to create a SOAP service between two systems (one client and one server) to transfer files from the client to the server.

I'm reading through the documentation available at https://docs.intersystems.com/iris20223/csp/docbook/DocBook.UI.Page.cls… but wanted to look at an actual example of code (preferably a small example for both systems).

If anyone has such an example or could create one, it would greatly help me understand how SOAP services work.

Thank you!

1
0 735
Question Edrian Golob · Mar 9, 2023

Hey guys.

I'm having trouble using the Certificate in my BO.
It started to occur after updating the certificate.

I have 2 configurations and 2 certificates, the first one was updated and no error occurs, the second one, the  bad certificate or Handshake failure errors occurs. Both have the same configuration.
I already tried marking SSLV3, handshake error occurs. When I unchecked it, a Bad Certificate error occurs.

Do you know what I can do in this case to solve it?I looked for some threads in the community, and I didn't find a solution for my case.
The Certificate works correctly on other systems

4
0 4961
Article Lorenzo Scalese · Feb 14, 2023 9m read

Hi Community,

I would like to take advantage of our topic on capture for Health Data Warehouses (on DC-FR) to show you how to quickly create HTTP SOAP and REST clients. IRIS, as well as applications available on Open Exchange offers solutions to generate them from a WSDL or a swagger specification.

SOAP client

Nothing could be easier than creating a SOAP client. All you need is the WSDL.A wizard is available from the IRIS Studio. It allows you to generate not only your classes for a web service client but also the “Business Services” and “Business Operations” if you want to consume them with the interoperability framework.

 

4
2 964
Question Robert Wang · Jan 10, 2023

Currently we have an SOAP bussiness service "Calculator" in production and this "Calculator" service has following settings:

  • Service class: CustomPackage.Calculator (Extends EnsLib.SOAP.Service)
  • Service name: "Calculator"
  • Basic settings -- Port 8088
Class DemoPackage.Caculator.CalculatorService Extends EnsLib.SOAP.Service
{

Parameter ADAPTER = "EnsLib.SOAP.InboundAdapter";

Parameter SERVICENAME = "CalculatorService";

Parameter NAMESPACE = "http://test.me/calculator";

Parameter SOAPSESSION = 1;

Method Init() [ WebMethod ]
{
	IF '$G(%session) 
	{
		$$$TRACE("%session is undefined")
	}
2
0 286
Question André-Claude Gendron · Oct 28, 2022

I have to create a SOAP WebService that receives the username/password as part of a field in the Request. I have no control of the client's application.

<soapenv:Envelopexmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"xmlns:tem="http://tempuri.org"><soapenv:Body><tem:ProcessRequest><!--Optional:--><tem:myRequest><tem:NomUtilisateur>ACGendron</tem:NomUtilisateur><tem:MotDePasse>MyPassword</tem:MotDePasse><!-- Other request fields --><tem:PrenomMere>?</tem:PrenomMere><tem:NumeroTele
3
0 913
Question Nicki Vallentgoed · Oct 11, 2022

I am creating a soap service according to a wsdl that the client has already coded against.
In their operation they have a fault element Exception:

<operationname="query"><soap:operationsoapAction=""/><input><soap:bodyuse="literal"/></input><output><soap:bodyuse="literal"/></output><faultname="Exception"><soap:faultname="Exception"use="literal"/></fault></operation>

which is:

<xsd:complexTypename="Exception"><xsd:sequence><xsd:elementname="message"type="xsd:string"minOccurs="0"/></xsd:sequence></xsd:complexType>

I

2
0 264
Question Peter Monteiro · Feb 9, 2022

For our WSDL the portType value is being suffixed with "Soap" at the end.

When i update the the SERVICENAME parameter. in the Service I can update the start of the portType value. Is there a way to prevent the suffix being added?

WSDL segment

<portType name="BillingDocumentRequestConfirmation_OutSoap">
<operation name="BillingDocumentRequestConfirmationOut">
<input message="s0:BillingDocumentRequestConfirmationOutSoapIn"/>
<output message="s0:BillingDocumentRequestConfirmationOutSoapOut"/>
</operation>
</portType>
<binding name="BillingDocumentRequestConfirmation_OutSoap"
3
0 438
Question Yone Moreno · Jun 3, 2022

Good morning,

We would appreciate if you could read us and if you have the opportunity, please respond to us.

The current situation is as follows:

We have 2 environments PREproduction and INTegration :

Ensemble version in PREproduction:

Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2018.1.6 (Build 717U) Thu Feb 24 2022 13:27:54 EST

Version of the tool to convert XML to ER7 and vice versa, the ITB, in PRE (we get it in the ITB.info.cls file):

Parameter VERSION = 2.1;

Ensemble version on INTegration:

IRIS for UNIX (Red Hat Enterprise Linux for x86-64) 2020.1.1 (Build 408U) Sun Mar 21 2021

1
0 241
Question Nicky Zhu · Mar 17, 2021

Hi guys,

We are connecting to a 3rd party SOAP web service. The wsdl looks like below

Please notice that the portType was defined as /cvpService. 

Then when we are trying to use SOAP Wizard to generate a client for the service, we will encounter the following error which prevented the generation

It seems that '/cvpService'  can not be used as a valid class name (or even method name) thus the generation failed.

Thus I have 2 questions about the failure

1.

3
0 413
InterSystems Official Stefan Wittmann · Feb 16, 2021

The GA release is now published for the 1.5 version of the InterSystems API Manager (IAM).

 

The container for IAM, including all relevant artifacts to upgrade from earlier versions of IAM can be downloaded from the WRC Software Distribution site in the Components area.

 

The build number for this release is IAM 1.5.0.9-4.

 

InterSystems API Manager 1.5 makes it easier to manage your API traffic, integrate with your environment and onboard users of your APIs. It has many new capabilities, including:

 

  • Improved User Experience
  • Introducing new Developer Portal tools
  • Support for Kafka connectivity
6
0 702
Question Florian Lestienne · Apr 23, 2021

Hello,

I have a question about a problem calling a SOAP Web Service.

Indeed, to retrieve data via a Web Service, I need to make 4 calls, one to connect, one to place parameters, one to retrieve data and one to disconnect. Using the EnsLib.SOAP.OutboundAdapter class, I manage to make my first connection call but for the other calls I would need to keep my session cookie otherwise it doesn't consider me as connected. I know it's possible to do this in REST directly in the EnsLib.REST.OutboundAdapter class but I can't find a way to do it in SOAP.

Has anyone already encountered the same problem as

1
0 356
Question Yone Moreno · Nov 19, 2019

Hello

I am trying to import a WSDL using the wizard and it outputs:

ERROR #6413: Element 'wsdl:binding:operation:msg': corresponding to message null : http://services.sanidad....

I have tried to find more information:

It is close to this case, however it is not the same error number:

Source: https://cedocs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?…

Here the error number does not give us much information:

Source: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…
 

In addition I have read the following post, where the question

1
0 458
Question Dyego Crisostomo · Oct 3, 2019

Hi,

I'm trying to establish a communication between my edge, which is in one server, with my HUB which is in another one. 
In EDGE, when the HS.Gateway.HSWS.WebServices component sends a message to the HUB component, it receives the following error: "Cannot invoke method RegisterGateway; WebServiceClientClass 'HS.Hub.HSWS.WebServicesClient' could not be instantiated, or the WebServiceURL Location could not be determined".
 

May someone help me? 
 

1
0 488