Skip to main content

WSDL/SOAP Calls in Service Suite

SoapUIUse supportService wasSuite removedfor WSDL/SOAP calls when the tested system still exposes SOAP services or when a legacy integration requires SOAP validation. Keep the documentation focused on request structure, endpoint configuration, authentication, assertions, and evidence.

What to configure

  • WSDL location, SOAP endpoint, operation, namespaces, and request body.
  • Headers, authentication, certificates, proxy settings, and timeout behavior.
  • Expected response status, SOAP fault handling, and response assertions.
  • DPL or environment values used in releaserequest 5.2.0payloads.
of

Validation AIQ.workflow

  1. Validate

    Youthe firstWSDL needand operation outside the main regression suite first.

  2. Run a workingknown-good WSDL server, like the Appvance Server back end in http://SERVER:8080/TMServer/ws/TestNode?wsdl=

    From there you could create manually a post body data, or using a third-party tools like soapUI, you could see the post’s body, as we only need the body to create the post-call.

    (SoapUI can be downloaded from https://www.soapui.org/ )

    A new Soap Project will show a screen to enter the URL

    The above will create a projectrequest with ancontrolled echodata.

  3. Add method.assertions Wefor canboth opentransport itsuccess and extractbusiness theresponse XMLvalues.
  4. Mask sectioncredentials, to be used as the POST body data:

    <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema " xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tms="http://tmserver.enterprise.appvance.com">

    <soapenv:Header/>

    <soapenv:Body>

    <tms:echo soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

    <echo xsi:type="xsd:string">?</echo>

    </tms:echo>

    </soapenv:Body>

    </soapenv:Envelope>

    Notice the “?”, this will be our variable. We should replace “?“ in the <echo xsi:type="xsd:string">?</echo> line with a variable name like “ECHO1” so we can later replace that for the intended parameter. For this example, we will replace “?” with “ECHO1”tokens, and savesensitive thepayload XMLvalues asbefore asharing “requests.echo.xml” file next to our “main.js”.

    evidence.

//Read template

var echoTemplate = new java.lang.String(readBytes("{ds}/request.echo.xml"));

//Process template for desired method

var echoString=echoTemplate.replace("ECHO1","Hello World");

//Create post method

var echoPost = createPost("http://localhost:8080/TMServer/ws/TestNode",echoString,"text/xml");

echoPost.addHeader("SOAPAction","");

var result=process(echoPost);

The “SOAPAction” HTTP request header field can be used to indicate the intent of the SOAP HTTP request. The value is a URI identifying the intent. SOAP places no restrictions on the format or specificity of the URI or that it is resolvable. An HTTP client MUST use this header field when issuing a SOAP HTTP Request. The header field value of the empty string ("") means that the intent of the SOAP message is provided by the HTTP Request-URI. No value means that there is no indication of the intent of the message. You can read more about it in https://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383528 

NTLM Service Authentication

When working with services that have NTLM authentication used normally for C# services, there is some additional configuration that needs to be taken into consideration. One of the requirements to consume this type of service will be to provide the credentials configured in the IIS for the available users to log in to the server. The system administrator will provide the domain and workstation where the services reside, similarly, it should provide the username and the password. Once you have the credentials information you will need to proceed to introduce this in the script which has the service call as the following example;


Last updated: JulyOctober 25,7, 20242026

If you have any feedback on this topic, please contact us at documentation@appvance.ai