How to retrieve the username and password from the WS-Security header (to be used in activities downstream) in TIBCO BusinessWorks Serviceagent without authenticating the user?

How to retrieve the username and password from the WS-Security header (to be used in activities downstream) in TIBCO BusinessWorks Serviceagent without authenticating the user?

book

Article ID: KB0093674

calendar_today

Updated On:

Products Versions
TIBCO ActiveMatrix BusinessWorks -
Not Applicable -

Description

Description:
This article describes the steps to retrieve the username and password from the WS-Security header in BusinessWorks Serviceagent without authenticating the user.

Issue/Introduction

How to retrieve the username and password from the WS-Security header (to be used in activities downstream) in TIBCO BusinessWorks Serviceagent without authenticating the user?

Resolution

1). Import the following xsds in your project:
 a). oasis-200401-wss-wssecurity-secext-1.0.xsd from http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd 
 b). oasis-200401-wss-wssecurity-utility-1.0.xsd downloaded from http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd

2). Create a Message with any name e.g. "usernametoken in the WSDL with part referring to oasis-200401-wss-wssecurity-secext-1.0.xsd.Select the "Security" element.
3). Create a Context Resource to capture the username/password received in the request.
4). Go to Serviceagents's EndPointBindings>Soap Details>Advanced>Input Header and select the Message created in Step 2.
5). Select the Context defined in Step 3 in the "Input Context" tab.
6). Map the Security header in Input Context.

You will obtain the Security Resource when you use "GetContext" inside the process.

Additional Information

Attached is a sample BW project (Filename: WSSecurity_GetUserNameToken.zip).

Attachments

How to retrieve the username and password from the WS-Security header (to be used in activities downstream) in TIBCO BusinessWorks Serviceagent without authenticating the user? get_app