小编bws*_*ith的帖子

Apache CXF - 不从WSS4JOutInterceptor发送凭据?

我正在尝试使用apache cxf 2.4.0使用WS-Security UsernameToken规范1.0连接到Web服务.

我已经从CXF文档中复制了下面的代码,但是我得到了:org.apache.cxf.ws.policy.PolicyException:没有可用的用户名

    MyService_Service ss = new MyService_Service(wsdlURL, SERVICE_NAME);
    MyService port = ss.getBasicHttpBindingMyService ();  


    Client client = ClientProxy.getClient(port);
    Endpoint cxfEndpoint = client.getEndpoint();

    Map<String,Object> outProps = new HashMap<String,Object>();
    outProps.put(WSHandlerConstants.ACTION, WSHandlerConstants.USERNAME_TOKEN);
    outProps.put(WSHandlerConstants.USER, "USERNAME");
    outProps.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_TEXT);
    outProps.put(WSHandlerConstants.PW_CALLBACK_CLASS, 
    ClientPasswordHandler.class.getName());

    WSS4JOutInterceptor wssOut = new WSS4JOutInterceptor(outProps);
    cxfEndpoint.getOutInterceptors().add(wssOut);
Run Code Online (Sandbox Code Playgroud)

我还从文档中实现了一个ClientPasswordHandler类,但似乎从未发送用户名(根据错误).这是密码处理程序:

public class ClientPasswordHandler implements CallbackHandler {
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
    WSPasswordCallback pc = (WSPasswordCallback) callbacks[0];
    pc.setPassword("Password");     
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法看看是否正在应用WSS4Jinterceptor,并且发送了UsernameToken?

java ws-security web-services cxf

9
推荐指数
1
解决办法
2万
查看次数

CXF xml配置未使用disableCNcheck =“ true”进行验证

我正在使用直接从CXF网站复制的CXF配置文件:cxf.apache.org/docs/client-http-transport-includes-ssl-support.html

但是,当我运行程序时,XML不会验证。给出的错误是:不允许属性'disableCNcheck'出现在元素'http-conf:tlsClientParameters'中

我们正在测试环境中使用自签名证书,只需要快速解决方法即可使用服务!

这是我尝试使用的cxf.xml文件,感谢您的帮助!

<http-conf:conduit
    name="{https://hostname/service}MyService.http-conduit">
    <!--  deactivate HTTPS url hostname verification (localhost, etc)
    WARNING ! disableCNcheck=true should NOT be used in production-->
    <http-conf:tlsClientParameters  disableCNcheck="true" />
</http-conf:conduit>
Run Code Online (Sandbox Code Playgroud)

java xml cxf

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

cxf ×2

java ×2

web-services ×1

ws-security ×1

xml ×1