Грешка WSE012 (липсва действие) при използване на WSE уеб услуга

За малък проект трябва да използвам (консумирам) външна (сигурна) уеб услуга. Тази уеб услуга използва SOAP1.2 протокол с WSE разширение (потребителско име + парола)

Използвам VB (VS2008) и добавих Service Reference, персонализирах app.config да използва wsHttpBinding вместо basicHttpBinding

Извиква се една от публичните функции на уеб услугата

searchByName(String, String)As System.Xml.XmlElement

В кода първо инициализирам сигурността;

wsTST.ClientCredentials.UserName.UserName = "mycompanyname"
wsTST.ClientCredentials.UserName.Password = "abc%2011!"

и след това извикайте функцията (кодът е неуспешен тук):

Debug.WriteLine(wsTST.searchByName("John", "Johnson"))

Първо случайно изключение от тип „System.ServiceModel.FaultException“ възникна в mscorlib.dll.

Съобщение за грешка: WSE012: Въведеното не е валидно SOAP съобщение, тъй като липсва следната информация: действие.

Може ли някой да ми каже дали използването на WSE уеб услуга е възможно от VB.NET2008? И може ли някой да ме насочи в правилната посока?

Търсих с часове, но не можах да намеря подходяща информация.

Поздрави, Франк


person Frank    schedule 27.09.2011    source източник
comment
Не е трябвало да персонализирате обвързването. Add Service Reference трябваше да избере wsHttpBinding, ако приемем, че WSE услугата използва правилно WS-Security. Коя версия на WSE е това? И предполагам, че сте наясно, че WSE е остаряла, но това няма значение, защото не контролирате сървъра?   -  person John Saunders    schedule 27.09.2011
comment
@JohnSaunders, благодаря за отговора! Не знам дали WSE е настроен правилно, нито каква версия е. Има ли все пак да се каже чрез проверка на WSDL? Всичко, което казва: Тази уеб услуга използва протокол SOAP1.2, така че XML през HTTP. За удостоверяване се използва WS-разширение на SOAP. Това означава, че в заглавката на SOAP съобщението трябва да бъдат включени потребителско име и парола. Ако използвате рамка, която поддържа SOAP & SOAP-разширения, рамката ще се погрижи за този трафик.   -  person Frank    schedule 28.09.2011