Доступ к .NET WebService, защищенному WS-Security, через Java-клиент

Я пытаюсь получить доступ к веб-службе .NET, защищенной с помощью WS-Security, с клиента Java (AXIS 1.6.2 и Rampart).

Клиентская часть:

ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem("client-repo", null);
AdminServiceStub stub = new AdminServiceStub(null,url);

WSDL (.NET WebService) использует "sp:SecureConversationToken sp:IncludeToken"

<sp:SecureConversationToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">

Вызов AdminServiceStub, сгенерированного wsdl2java, завершается с ошибкой IllegalArgumentException.

Сгенерированная заглушка:

(__operation).getMessage(org.apache.axis2.wsdl.WSDLConstants.MESSAGE_LABEL_OUT_VALUE).getPolicySubject().attachPolicy(getPolicy("<wsp:Policy xmlns:wsp=\"http://schemas.xmlsoap.org/..."));

Эта сгенерированная строка кода завершается с ошибкой:

java.lang.IllegalArgumentException: SecurityContextToken не содержит атрибута sp:IncludeToken

Кто-нибудь знает, как справиться с этим sp:IncludeToken?


person tgs    schedule 21.10.2014    source источник
comment
Как вы сгенерировали клиентский код. Eclipse или через командную строку?   -  person Zubair Ashraf    schedule 21.10.2014


Ответы (1)


Я использую wsdl2java.bat, поставляемый с AXIS2 1.6.2.

wsdl2java.bat -uri http://localhost/AdminService.svc?wsdl  -uw
person tgs    schedule 21.10.2014