отправка soap на WSDL сервис

 
 
 
Сообщения:1
Добрый день!
У меня возник трабл. Если есть какие то подсказки, то было бы здорово.
Итак, у нас есть файл WSDL и образец soap запроса, в SoapUI они работают, я пытаюсь реализовать отправку запроса в автотесте(maven, selenium, testng).
Я сгенерил классы с помощью wsimport (через консоль),
инициализировал порт, BindingProvider, положил в контекст запроса эндпоинт, логин, пароль и собрал сообщение от меньшего к большему,
но при отправке сообщения, ругается на заголовок: Client received SOAP Fault from server: SOAP Security Header UsernameToken is required
Делал по примерам из интернетов, не пойму зачем тут BindingProvider

public class Client {
public static void main(String[] args) {
SIBSpcSAPSpcQISpcImport_Service service = new SIBSpcSAPSpcQISpcImport_Service();
SIBSpcSAPSpcQISpcImport port = service.getSIBSpcSAPSpcQISpcImport();

BindingProvider bindingProvider = (BindingProvider) port;

bindingProvider.getRequestContext().put(
BindingProvider.ENDPOINT_ADDRESS_PROPERTY, address);

bindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "xxx");
bindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "xxx");

SIBSpcSAPSpcQISpcImportInput request = new SIBSpcSAPSpcQISpcImportInput();//

SibSapQiImport message = new SibSapQiImport();
message.setSIEBELTRANSACTIONROWID("3X2GSL");
message.setADDAGREEMENTDATE("02/14/2019");
message.setADDAGREEMENTNUMBER("12345678");
message.setLOGITEMNOTE("Текст ошибки(вкладка Основная информация)");
message.setEXTKEYTECH("12");
message.setSAPTKONN("1234567890");
message.setSAPTPOSN("10");
message.setSTATORDERNOTECH("Draft");
message.setLOGBUSINESSDOCUMENTPROCESSINGRESULTCODE("3");

ListOfSibSapQiImport list = new ListOfSibSapQiImport();
list.setSibSapQiImport(message);

request.setListOfSibSapQiImport(list);

SIBSpcSAPSpcQISpcImportOutput response = port.sibSpcSAPSpcQISpcImport(request);
}
 
Модераторы:wedens
Сейчас эту тему просматривают:Нет