axis2客户端调用的时候需要设置用户名密码,在网上搜了下,发现了3种方式,其中方法1我调用成功了,2、3都认证失败,有没有高手帮忙解释下3面3种写法:
1、
HttpTransportProperties.Authenticator auth = new Authenticator();
auth.setUsername(userName);
auth.setPassword(password);
stub._getServiceClient().getOptions().setProperty(HTTPConstants.AUTHENTICATE, auth);
2、
stub._getServiceClient().getOptions().setUserName(userName);
stub._getServiceClient().getOptions().setPassword(password);
3、
OMFactory fac = OMAbstractFactory.getOMFactory();
OMElement header = fac.createOMElement("AuthenticationToken", omNs);
OMElement ome_user = fac.createOMElement("Username", omNs);
ome_user.setText("");
header.addChild(ome_user);
OMElement ome_pass = fac.createOMElement("Password", omNs);
ome_pass.setText("");
header.addChild(ome_pass);
serviceClient.addHeader(header);