Я использую клиент веб-сервиса оси 2.
Первый https-вызов веб-службы вызывает исключение с сообщением: «Сообщение не содержит допустимого элемента безопасности».
Я думаю, что проблема может быть в режиме безопасности: возможно, это должна быть безопасность на уровне сообщений. В таком случае, как я могу настроить его по оси ?.
Код:
System.setProperty("javax.net.ssl.keyStore", jksFile);
System.setProperty("javax.net.ssl.keyStorePassword", jksPassword);
MyServicePortProxy proxy = new MyServicePortProxy();
Stub stub = (Stub) proxy.getMyServicePort();
proxy.setEndpoint(endpoint);
stub.setUsername(username);
stub.setPassword(password);
// throws exception with the above message:
proxy.serviceMethod(...);




Взгляните на http://ws.apache.org/wss4j/package.html, нам нужно было определить client-config.wsdd, который сказал оси включать имя пользователя / пароль (если вы используете ws-security). Я немного слаб в разных стандартах и в том, что их разделяет.
Возможно, что в определении службы XML вам потребуется создать политику службы - [http://schemas.xmlsoap.org/ws/2004/09/policy/]
Взгляните на эти статьи:
http://www.javaranch.com/journal/200603/Journal200603.jsp#a2http://www.javaranch.com/journal/200709/web-services-authentication-axis2.html
Следите за своей погрешностью. Если временная метка в элементе безопасности, предоставленном клиентом, находится слишком далеко в прошлом или будущем с точки зрения сервера, он может отклонить ее с помощью именно этого сообщения.