WS-security Java客户端

时间:2013-02-28 18:51:20

标签: ws-security

我已经编写了Java客户端并使用WS-security调用Web服务。为了生成类,我使用了轴。

Basicaly,我有类Credentials,它有一个用户和密码,包含凭据的类头,以及另一个包含Header的ServiceDispatcherRequest类。

我尝试使用此代码

    ServiceDispatcherServiceLocator service = new ServiceDispatcherServiceLocator();

ServiceDispatcherPortType port = service.getServiceDispatcherPortType();

ServiceDispatcherRequest request = new ServiceDispatcherRequest();

Credentials auth = new Credentials ("1", "xpto", "xpto");

Credentials[] credentials = new Credentials[10];

credentials[1]= auth;

Header header = new Header();

header.setCredentials(credentials);

request.setHeader(header);

ServiceDispatcherResponse response = port.serviceDispatcherOp(request);

但是我收到以下错误

已为安全配置了服务'服务',但在消息上下文中不能找到AuthenticationRequest。没有AuthenticationRequest就无法进行身份验证。

所以我搜索了AuthenticationRequest类,我尝试了这个:

    Message message  = MessageFactory.getInstance().getMessage();

    AuthenticationRequest authRequest = new AuthenticationRequestImpl.Builder().username(user).password(pass.toCharArray()).build(); 

    message.getContext().setContext(SecurityService.AUTH_REQUEST,  authRequest); 

但我不知道如何将AuthenticationRequest发送到网络服务。

如果有任何帮助,我将不胜感激。

0 个答案:

没有答案