23
Views
9
Comments
Is it possible to expose SOAP through integration studio?

I have read this guide 

How to consume a Web Service in Integration Studio - OutSystems How to Guide 

Since there is a complex structure I need to receive from other source with limited option on hand, is it possible to build a exposed SOAP with similar step?

2023-08-28 07-00-10
Paulo Torres
Champion

Why to not consume through Service Studio?

UserImage.jpg
Masami Iwasaki

thank you for your reply.

the structure I need to create to be able to receive xml is complicated, so I was trying to get raw xml.

Can xml below be recognized once received from SOAP?

 <custom> 

            <CustomString name="test">A1234</CustomString>

 </custom>

I could get the attribte value with xmlrecord with xml file, but when its a SOAP output parameter it's just empty

2023-08-28 07-00-10
Paulo Torres
Champion


Through Integration Studio you've to create an extension in C#. It's what you did already?

UserImage.jpg
Masami Iwasaki

sorry, I should be more clear

I have looked into SOAP.API but having a hard time to find a starting point to solve my problem.

Since I'm exposing a SOAP service, it's the opposite situation from the artical I mentioned, and I'm now confused what approach I should take.

Below are my thoughts:

1. Get raw request directly from SOAP service 

but the SoapRequest class under SOAP.API is for consuming purpose

2. Pass customize xsd to SOAP service 

not sure if it's possible, if not and raw request is also not possible to get, maybe the whole process is automated so I can only access data after SOAP service process it?


I haven't look into System.web.service, will do it tommorow, if I missed anything or if you have any thought about how should I processed please share XD.


2023-03-13 10-26-05
Sriyamini

Hi,

you can refer to the official OutSystems document to consume a Web Service in Integration Studio. 

https://success.outsystems.com/documentation/how_to_guides/integrations/how_to_consume_a_web_service_in_integration_studio/

As Paulo rightly said exposing a SOAP Web Service should be done via Service Studio .Here’s the steps for that. You can refer below document.

https://success.outsystems.com/documentation/11/integration_with_external_systems/soap/exposing_soap_web_services/expose_a_soap_web_service/

Hope it helps

Thanks,

Sriyamini.J


UserImage.jpg
Masami Iwasaki

thank you for your reply, but I'm facing a rather different problem, will be happy if you got any suggestion. 

2025-07-22 10-30-27
Mandar Deshpande

Hi @Masami Iwasaki 

In your case, if you need raw XML or attributes, do NOT use SOAP in Outsystems.

Use REST or a SOAP-to-REST middleware.

2023-10-16 05-50-48
Shingo Lam

Hi @Masami Iwasaki ,

Have you tried this component to get raw response
https://www.outsystems.com/forge/component-overview/427/ardohttp-o11

2025-11-19 06-14-01
Miguel Verdasca
Champion

Hi Masami,

Short answer: you cannot expose or consume SOAP directly from Integration Studio. Integration Studio is meant to build .NET extensions; SOAP Web Services (both consume and expose) are defined in Service Studio.

For your second point, about receiving “raw XML” like:

    

when you use a Consumed SOAP in Service Studio, OutSystems will try to map that XML into a structure based on the WSDL. During this mapping:

  • The element text value (A1234) can be mapped to a field.

  • The XML attribute (name="test") is not exposed as an attribute in the generated structure.

Because of this, when you try to use XmlRecord with the SOAP output parameter, you are not getting the original XML node; you are only getting the value that was already deserialized by the SOAP engine, so XmlRecord appears empty.

If you really need to work with the full XML (including attributes), you have two options:

  1. Change the contract so the SOAP operation returns a string with XML, and in OutSystems treat that output parameter as Text and then parse it with the XML extension (XmlToRecord, XmlElementGetAttribute, etc.).

  2. Or implement a custom extension in Integration Studio that calls the SOAP endpoint using .NET (HttpWebRequest / HttpClient), returns the raw SOAP response as Text to OutSystems, and then you parse that XML in your module.

If you are able to adapt the WSDL so that the complex types are represented with normal elements instead of attributes, Service Studio’s SOAP integration becomes much simpler and you do not need raw XML.

Hope this clarifies why XmlRecord is empty and what the possible approaches are.

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.