axis2调用带Authentication认证的webservice
2015-08-01 13:51
288 查看
Java代码
![](http://wujianjun.iteye.com/images/icon_star.png)
package com.wujianjun.axis2.client;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.transport.http.HTTPConstants;
import org.apache.axis2.transport.http.HttpTransportProperties;
public class TestClient {
public static void main(String[] args) {
try {
ServiceClient sc = new ServiceClient();
Options opts = sc.getOptions();
opts.setTo(new EndpointReference("http://10.10.0.68:8000/sap/bc/srt
/rfc/sap/ztest/110/ztest/ztest"));
opts.setAction("urn:ZTEST");
HttpTransportProperties.Authenticator basicAuth =
new HttpTransportProperties.Authenticator();
basicAuth.setUsername("liuhand");
basicAuth.setPassword("dev110");
// basicAuthentication.setHost("xx.xx.x.xx");
// basicAuthentication.setDomain("xx.xx.xx.xx");
opts.setProperty(HTTPConstants.AUTHENTICATE, basicAuth);
OMElement res = sc.sendReceive(createPayLoad());
System.out.println(res);
} catch (AxisFault e) {
e.printStackTrace();
}
}
public static OMElement createPayLoad() {
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace("urn:sap-com:document:sap:rfc:functions","m");
OMElement method = fac.createOMElement("ZTEST", omNs);
OMElement value = fac.createOMElement("IM_P", null);
value.setText("Hello");
method.addChild(value);
System.out.println(method);
return method;
}
}
如果不加
# HttpTransportProperties.Authenticator basicAuth = new HttpTransportProperties.Authenticator();
# basicAuth.setUsername("liuhand");
# basicAuth.setPassword("dev110");
# // basicAuthentication.setHost("xx.xx.x.xx");
# // basicAuthentication.setDomain("xx.xx.xx.xx");
# opts.setProperty(HTTPConstants.AUTHENTICATE, basicAuth);
就会出现用户名密码错误的问题。
加上以上代码,把用户名和密码改成你项目中正确的用户名和密码就可以解决问题。
![](http://wujianjun.iteye.com/images/icon_star.png)
package com.wujianjun.axis2.client;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.transport.http.HTTPConstants;
import org.apache.axis2.transport.http.HttpTransportProperties;
public class TestClient {
public static void main(String[] args) {
try {
ServiceClient sc = new ServiceClient();
Options opts = sc.getOptions();
opts.setTo(new EndpointReference("http://10.10.0.68:8000/sap/bc/srt
/rfc/sap/ztest/110/ztest/ztest"));
opts.setAction("urn:ZTEST");
HttpTransportProperties.Authenticator basicAuth =
new HttpTransportProperties.Authenticator();
basicAuth.setUsername("liuhand");
basicAuth.setPassword("dev110");
// basicAuthentication.setHost("xx.xx.x.xx");
// basicAuthentication.setDomain("xx.xx.xx.xx");
opts.setProperty(HTTPConstants.AUTHENTICATE, basicAuth);
OMElement res = sc.sendReceive(createPayLoad());
System.out.println(res);
} catch (AxisFault e) {
e.printStackTrace();
}
}
public static OMElement createPayLoad() {
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace("urn:sap-com:document:sap:rfc:functions","m");
OMElement method = fac.createOMElement("ZTEST", omNs);
OMElement value = fac.createOMElement("IM_P", null);
value.setText("Hello");
method.addChild(value);
System.out.println(method);
return method;
}
}
如果不加
# HttpTransportProperties.Authenticator basicAuth = new HttpTransportProperties.Authenticator();
# basicAuth.setUsername("liuhand");
# basicAuth.setPassword("dev110");
# // basicAuthentication.setHost("xx.xx.x.xx");
# // basicAuthentication.setDomain("xx.xx.xx.xx");
# opts.setProperty(HTTPConstants.AUTHENTICATE, basicAuth);
就会出现用户名密码错误的问题。
加上以上代码,把用户名和密码改成你项目中正确的用户名和密码就可以解决问题。
相关文章推荐
- windows 7启动顺序详解
- Maximum Product Subarray
- poj_3090_欧拉函数
- 最长公共子序列问题(要求输出路径)
- 内部类
- linux系统配置Apache虚拟主机实例
- FTP使用MariaDB完成虚拟用户认证
- sqlcoder
- linux中图形界面改成文本
- 求一棵二叉树的宽度
- Java日志框架——基本概念
- Spring应用 - 2
- getView()执行次数问题(自己再次测试,顺便做个记录)-------再再次
- 敌兵布阵(树状数组)
- 二维码zxing源码分析(二)decode部分
- ural 1017
- HTML <input> 标签的 type 属性
- LeetCode "Different Ways to Add Parentheses"
- win7,linux双系统删除linux系统
- 二维向量:vector<vector<int>>