Я тестирую веб-сервис, который я импортировал через wsimport. WSDL - это простой веб-сервис с такой структурой:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/">
<soap:Header>
<tem:authUser>
<!--Optional:-->
<tem:userName></tem:userName>
<!--Optional:-->
<tem:password></tem:password>
<!--Optional:-->
<tem:authenticationToken></tem:authenticationToken>
</tem:authUser>
</soap:Header>
<soap:Body>
<tem:authenticateUser/>
</soap:Body>
</soap:Envelope>
Дело в том, что у меня есть некоторые проблемы при вызове этого веб-сервиса со следующим кодом из-за параметров заголовка, I
public static void main(String[] args) {
// write your code here
System.out.println("Hello world");
WsTest wsTEST = new WsTest();
WsTestSoap client = wsTest.getWsTestSoap();
Map<String,Object> request = ((WSBindingProvider) client).getRequestContext();
Map<String,List<String>> headers = new HashMap<String, List<String>>();
headers.put("userName", Collections.singletonList("xxxxx"));
headers.put("password", Collections.singletonList("xxxxx"));
request.put(MessageContext.HTTP_REQUEST_HEADERS, headers);
String re1 = client.authenticateUser();
String re2 = client.existencias("xxxx");
System.out.println(re1);
System.out.println(re2);
}
Я уже протестировал этот веб-сервис с правильным пользователем и паролем и получил положительный ответ, дело в том, что я угадал, как правильно установить параметры заголовка.
Это мой ответ:
Hello world
Authentication Error
Authentication Error
Process finished with exit code 0
Любая помощь будет оценена.