KB Article #191380

SAP HANA Outbound connection to SOAP WebService Server in TSIM 3.9.1 SP30

Problem

Create and setup for a SAP HANA Outbound connection to SOAP WebService Server in TSIM

Resolution


This is a working example implemented for the outbound SHPMNT process.

Starting with UP31, only the new generation is available, and the WebService Server can also be used for n0is0.

Install New Generation IS with WebService Server

This generic way to receive payload on WebServices is available only in the New Generation IS.

service_directory.cfg

INSTANCE_ID=1

NAME=n0is1

INSTANCE_COMMENT=This is instance 1 on node 0

START_INSTANCE=1

ADMINPORT=9171

USERNAME=isuser

PASSWORD=actis01

IS_NEW_TYPE=1

SERVICE=CERT_MANAGER

START_SERVICE=1

SERVICE=SLAVE

START_SERVICE=1

SERVICE=WEBSERVICESERVER

START_SERVICE=1

Configure WebService Server

Create a WebService Server with HTTPS by adding to param/is/n0is1/webserviceserver/webserviceserver.cfg:

wss.https_server.port=7094

wss.https_server.httpsEnabled=y

wss.https_server.secureRelayEnabled=n

wss.https_server.sslConfig=RECOMMENDED

wss.https_server.myOwnId=XCOMPANY

The certificate must be set up as follows:

Application: WEBSERVICESERVER

Partner: XCOMPANY

Purpose: HTTPS

Picture1.jpg (see attached)

Alternatively, an unencrypted WebService Server can be created with just the line (webserviceserver.cfg):

wss.http_server.port=7093

Workflow

Attached (transport_SAP.zip) are the workflow, the rule (can be imported using Transport Tool), and a script used by one step. The script grabs DOCNUM and MANDT from the XML IDoc and places them in parameters so that they can be used in the SOAP Response.

*WFLOW_RESULT* is the step that sends the SOAP Response. It needs the following parameters to work:

close=y

text=<ns1:IdocAssign xmlns:ns1='urn:sap-com:document:sap:idoc:soap:messages'><ns1:TransferId>$(DB_ID)</ns1:TransferId><ns1:DbId>$(DB_ID)</ns1:DbId></ns1:IdocAssign>

Since SP30 genericxml.json can be edited from the TSIM GUI through Base Data > Parameter Tables.

Publish Web Service using genericxml.json

Since SP30 genericxml.json can be edited from the TSIM GUI through Base Data > Parameter Tables.


<code>{
        "services": [
        {
                "serviceName": "ShpmntService",
                "senderName": "sapHANA",
                "objectClass": "shpmnt",
                "attachementName": "shpmnt",
                "operationName": "SHPMNT05",
                "action": "Shpmnt",
                "style": "DOCUMENT",
                "communicationType": "synchron",
        "targetNamespace": "urn:sap-com:document:sap:idoc:soap:messages",
                "wsConfigs": [
                        "https_server"
                ]
        }
        ]
}
</code>

Always activate both WEBSERVICESERVER and BASE-Serv when making changes to the Web Service.


The Web Service will then be accessible through the URL: https://example.com:7094/ShpmntService/?wsdl

https://example.com:7093/ShpmntService/?wsdl

serviceName is used to construct the URL.

communicationType, when set to synchron, means that the SOAP Response is expected in the same connection.

With wsConfigs one can define for which WebService Servers configured in webserviceserver.cfg the Web Service will be published.

Content Type on SAP Side

The highlighted setting is required on the SAP side. Otherwise, the IDoc's status will be incorrect.

Picture2.jpg (see attached)

Test with SoapUI

Add the WSDL in SoapUI and send a sample request.

The response should look like this:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:SHPMNT05Response xmlns:ns1="urn:sap-com:document:sap:idoc:soap:messages">
<ns1:IdocAssign>
<ns1:TransferId>0000000000047040</ns1:TransferId>
<ns1:DbId>0000000000047040</ns1:DbId>
</ns1:IdocAssign>
</ns1:SHPMNT05Response>
</soap:Body>
</soap:Envelope>


Note: This document reflects a specific use-case, please reach out to Axway Support for further information and clarifications with concerns of any similar scenario.