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.