Https WebService сообщение: сообщение не содержит действительный элемент безопасности - PullRequest
3 голосов
/ 07 ноября 2008

Я использую клиент веб-службы оси 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(...);

Ответы [ 3 ]

1 голос
/ 10 ноября 2008

Возможно, в вашем определении сервиса XML вам нужно создать политику сервиса - [http://schemas.xmlsoap.org/ws/2004/09/policy/]

Взгляните на эти статьи:

http://www.javaranch.com/journal/200603/Journal200603.jsp#a2 http://www.javaranch.com/journal/200709/web-services-authentication-axis2.html

1 голос
/ 11 ноября 2008

Наблюдайте за перекосом часов. Если временная метка в элементе безопасности, предоставленном клиентом, слишком далека от прошлого или будущего с точки зрения сервера, она может отклонить ее именно этим сообщением.

1 голос
/ 10 ноября 2008

Взгляните на http://ws.apache.org/wss4j/package.html, нам нужно было определить client-config.wsdd, который велел оси включать имя пользователя / пароль (если вы используете ws-security). Я немного слаб в разных стандартах и ​​в том, что их разделяет.

...