axis2 客户端调用wss4j 安全web服务的方法
来源:互联网 发布:apache设置虚拟路径 编辑:程序博客网 时间:2024/05/23 00:11
一直找不到对应的例子,对wss4j的定义又不太了解,只能自己不断调试,以下代码为调试通过的代码,记录以备遗忘。
public class DocCategoryWebServiceClientTest {
/**
* @param args
* @throws RemoteException
*/
public static void main(String[] args) throws RemoteException {
// TODO Auto-generated method stub
DocCategoryWebServiceImpServiceStub stub = new DocCategoryWebServiceImpServiceStub(
"http://my.service.net:8080/test/services/DocCategoryWebService");
String username = "admin";
String password = "1";
ServiceClient client = stub._getServiceClient();
SOAP11Factory factory = new SOAP11Factory();
OMNamespace SecurityElementNamespace = factory
.createOMNamespace(
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd",
"wsse");
OMElement usernameTokenEl = factory.createOMElement("UsernameToken",
SecurityElementNamespace);
OMElement usernameEl = factory.createOMElement("Username",
SecurityElementNamespace);
OMElement passwordEl = factory.createOMElement("Password",
SecurityElementNamespace);
OMElement actionEl = factory.createOMElement("Action",
SecurityElementNamespace);
passwordEl
.addAttribute(factory
.createOMAttribute(
"Type",
null,
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"));
usernameEl.setText(username);
passwordEl.setText(password);
usernameTokenEl.addChild(usernameEl);
usernameTokenEl.addChild(passwordEl);
usernameTokenEl.addChild(actionEl);
SOAPHeaderBlockImpl block = new SOAP11HeaderBlockImpl("Security",
SecurityElementNamespace, factory);
block.addChild(usernameTokenEl);
client.addHeader(block);
DocCategoryWebServiceImpServiceStub.FindCategoryByParentId request = new DocCategoryWebServiceImpServiceStub.FindCategoryByParentId();
DocCategoryWebServiceImpServiceStub.FindCategoryByParentIdE requestE = new DocCategoryWebServiceImpServiceStub.FindCategoryByParentIdE();
request.setArg0("2");
requestE.setFindCategoryByParentId(request);
DocCategoryWebServiceImpServiceStub.FindCategoryByParentIdResponseE response = stub
.findCategoryByParentId(requestE);
ListObject listObject = response.getFindCategoryByParentIdResponse()
.get_return();
if (listObject != null && listObject.getList() != null) {
for (int i = 0; i < listObject.getList().length; i++) {
Object ob = listObject.getList()[i];
DocCategory cat = (DocCategory) ob;
System.out.println(cat.getFdName());
}
}
}
}
public class DocCategoryWebServiceClientTest {
/**
* @param args
* @throws RemoteException
*/
public static void main(String[] args) throws RemoteException {
// TODO Auto-generated method stub
DocCategoryWebServiceImpServiceStub stub = new DocCategoryWebServiceImpServiceStub(
"http://my.service.net:8080/test/services/DocCategoryWebService");
String username = "admin";
String password = "1";
ServiceClient client = stub._getServiceClient();
SOAP11Factory factory = new SOAP11Factory();
OMNamespace SecurityElementNamespace = factory
.createOMNamespace(
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd",
"wsse");
OMElement usernameTokenEl = factory.createOMElement("UsernameToken",
SecurityElementNamespace);
OMElement usernameEl = factory.createOMElement("Username",
SecurityElementNamespace);
OMElement passwordEl = factory.createOMElement("Password",
SecurityElementNamespace);
OMElement actionEl = factory.createOMElement("Action",
SecurityElementNamespace);
passwordEl
.addAttribute(factory
.createOMAttribute(
"Type",
null,
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"));
usernameEl.setText(username);
passwordEl.setText(password);
usernameTokenEl.addChild(usernameEl);
usernameTokenEl.addChild(passwordEl);
usernameTokenEl.addChild(actionEl);
SOAPHeaderBlockImpl block = new SOAP11HeaderBlockImpl("Security",
SecurityElementNamespace, factory);
block.addChild(usernameTokenEl);
client.addHeader(block);
DocCategoryWebServiceImpServiceStub.FindCategoryByParentId request = new DocCategoryWebServiceImpServiceStub.FindCategoryByParentId();
DocCategoryWebServiceImpServiceStub.FindCategoryByParentIdE requestE = new DocCategoryWebServiceImpServiceStub.FindCategoryByParentIdE();
request.setArg0("2");
requestE.setFindCategoryByParentId(request);
DocCategoryWebServiceImpServiceStub.FindCategoryByParentIdResponseE response = stub
.findCategoryByParentId(requestE);
ListObject listObject = response.getFindCategoryByParentIdResponse()
.get_return();
if (listObject != null && listObject.getList() != null) {
for (int i = 0; i < listObject.getList().length; i++) {
Object ob = listObject.getList()[i];
DocCategory cat = (DocCategory) ob;
System.out.println(cat.getFdName());
}
}
}
}
- axis2 客户端调用wss4j 安全web服务的方法
- Axis2+Rampart(WSS4J)实现UsernameToken认证方式的WS-Security(基于SOAP的Web安全调用机制)
- 基于SOAP的Web安全调用机制-----Axis2+Rampart(WSS4J)实现UsernameToken认证方式的WS-Security【未试验】
- 使用Axis2开发Web服务 --- 客户端调用
- axis2创建webservice客户端全过程(调用.net web服务)
- 基于Axis2的web服务的开发、部署和客户端调用
- 基于Axis2的web服务的开发、部署和客户端调用
- Axis的Web服务开发 --- 客户端访问Axis2的服务
- Axis2+SOAP Header验证方法实践(基于SOAP的Web安全调用机制)
- 基于SOAP的Web安全调用机制-----Axis2+SOAP Header验证方法实践【已经试验】
- axis2客户端调用免费的webservice服务的实例
- Web Service 客户端,调用服务方法
- axis2发布和客户端调用WebService的方法
- flex调用web服务的安全设置
- axis2调用服务的url
- axis2客户端调用免费的webservice服务的实例之三axis2使用RPC方式调用网上免费WebService
- web服务-axis2的发布
- 调用WEB服务的方法
- Oracle不支持脏读,控制事务执行先后顺序的方法
- 字符串匹配算法(二)穷举与自动机
- Hibernate的单、双向关联(一)
- 2009年SOA行业的七个预测
- ubuntu 3D桌面效果
- axis2 客户端调用wss4j 安全web服务的方法
- js比较2个时间的大小
- scanf,sscanf高级用法
- ubuntu 3D桌面演示!
- windows 消息大全 与 虚拟键列表 HOOK专题
- 怎样缩小SQL Server数据库日志文件
- [多图] Ubuntu 8.04 中开启3D桌面特效与设置方法
- Hibernate的单、双向关联(二)
- 获取网页中的验证码图片