יום שישי, 8 באפריל 2011

SBL-EAI-05162: SOAP Security Header UsernameToken is required for operation '%1'.


Applies to: Siebel System Software - Version: 7.7.2 SIA [18325] and later [Release: V7 and later ]
IBM AIX on POWER Systems (64-bit)
Database: Oracle 9.2.0.4
Application Server OS: IBM AIX 5L 5.2
Database Server OS: IBM AIX 5L 5.2

This document was previously published as Siebel SR 38-1767022791.

SymptomsSBL-EAI-05162

Requirement was to use WS-Security for calling inbound Siebel WebServices. A web service without WS-Security could be invoked ok with following SOAP document :-

<?xml version="1.0" encoding="utf-16"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<FID_FINAREF_QRY_SelectLOYMemberFF_Input xmlns="http://fnac.dom">
<MemberNumber>40008336</MemberNumber>
</FID_FINAREF_QRY_SelectLOYMemberFF_Input>
</soap:Body>
</soap:Envelope>


The following document with WS-Security was attempted :-

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
soap:mustUnderstand="0">
<wsse:UsernameToken>
<wsse:Username>FINAREF</wsse:Username>
<wsse:Password Type="wsse:PasswordText">init</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
<soap:Body>
<FID_FINAREF_QRY_SelectLOYMemberFF_Input xmlns="http://fnac.dom">
<MemberNumber>40008336</MemberNumber>
</FID_FINAREF_QRY_SelectLOYMemberFF_Input>
</soap:Body>
</soap:Envelope>


But the following error was reported :-

SBL-EAI-05162: En-t�te de s�curit� SOAP - Le jeton du nom de l'utilisateur est requis pour l'op�ration "SelectLOYMemberFF".

Translated text :-

SOAP Security Header UsernameToken is required for operation '%1'.

It was then found that the following request could be processed ok :-

<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/07/secext" soap:mustUnderstand="0">
<wsse:UsernameToken>
<wsse:Username>EIMUSER</wsse:Username>
<wsse:Password Type="wsse:PasswordText">init</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
<soap:Body>
<FID_FINAREF_QRY_SelectLOYMemberWSSE_Input xmlns="http://fnac.dom">
<MemberNumber>40008336</MemberNumber>
</FID_FINAREF_QRY_SelectLOYMemberWSSE_Input>
</soap:Body>
</soap:Envelope>

CauseIn this case the wsse tag was not referencing the correct namespace :-

<wsse:Security xmlns:wsse=="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
...

The namespace url for WS-Security should follow this syntax :-

<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/07/secext" soap:mustUnderstand="0">

(i.e. or http://schemas.xmlsoap.org/ws/*/secext, where * can be any text.

In this case, the BEA WebLogic system did not follow that convention by default.

Enhancement request Bug 10508308 has been logged to request support for latest specifications for WS-Security.

At the moment, Siebel does not support OASIS 2004.

SolutionWhen the namespace for the inbound request used was amended to use the following, the request could be processed :-

<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/07/secext" soap:mustUnderstand="0">








Related







Products








Siebel > Customer Relationship Management > CRM - Enterprise Edition > Siebel System Software


Keywords






 

NAMESPACE; WEBSERVICE; INBOUND; WEBLOGIC; SOAP; WEB SERVICES; WS-SECURITY

 

Errors





 

SBL-EAI-05162





אין תגובות:

הוסף רשומת תגובה