Что бы вызвать WEB-сервис созданный в Siebel из сторонней программы, заголовок SOAP запроса должен содержать текст:
Что бы сформировать такой заголовок на Weblogic сервере существует официальный вариант, описанный в документации:
1) импортируем WSDL
2) редактируем WSDL, добавляем так называемое policy:
- в раздел definitions:
<< div="">
< div="">



< div=""> 
- и в раздел binding:
3) затем на этот wsdl создается объект proxy и на закладке policy заполняются необходимые данные.
К сожалению weblogic формирует немного другой заголовок, чем требуется для Siebel. Поэтому Siebel возвращает ошибку. Эта проблема описана в блоге:
http://jvzoggel.wordpress.com/2010/04/01/oracle-service-bus-and-siebel-usernametoken/
(частичный русский перевод: http://andrei-lobanov.blogspot.com/2010/06/oracle-service-bus-and-siebel-ws.html)
Для решения этой проблемы предлагается метод ручного заполнения заголовка, как и описано в блоге jvzoggel. Недостаток этого решения в хранении пароля в открытом виде в исходных текстах конфигурации. Далее описание данного способа решения:
1) WSDL файл не изменяем;
2) В Eclipse открываем конфигурацию и создаем новый каталог, например sequrity:
3) В этот каталог добавляем объект Service Account. Тип ресурса указываем=static. Указываем требуемый пароль:
учтите, что пароль для показа скрывается, но в исходном XML файле присутствует в открытом виде;
4) Создаем на импортированный WSDL объекты типа business и proxy. Открываем proxy, переходим на закладку Message Flow и добавляем два объекта: Assign и Replace
Продолжение следует.