通过代理访问WebService

参考片段(一)

public
String getService(String methodName, String xml) {
try {
String endpointURL = "http://219.136.207.188/mobtongbao/services/UmpsToGmccWS";
AxisProperties.setProperty("http.proxyHost", "10.243.184.17"); //代理IP
AxisProperties.setProperty("http.proxyPort", "8081"); //代理端口
AxisProperties.setProperty("http.proxyUser", "dwyaoyongsheng"); //用户名
AxisProperties.setProperty("http.proxyPassword", "yys963"); //密码
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(endpointURL);
call.addParameter("test", XMLType.XSD_STRING, ParameterMode.IN);
call.setOperationName(methodName);
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
String ret = (String) call.invoke(new Object[] { new String(xml) });
return ret;
} catch (Exception e) {
return "";
}
}
参考片段(二)
proxyFalg=getinfo.getNetProxyProperty("proxyFalg");
// 请自行加上try...cache代码
URL url = new URL( "http://192.168.80.7:8080/DBJailServer/services/ReadClient");
if(proxyFalg.equals("1")){
// 设置客户端代理服务
SocketAddress add = new InetSocketAddress("192.168.80.4",
808);
//设置webservices代理服务
AxisProperties.setProperty("http.proxyHost","168.168.80.4");
AxisProperties.setProperty("http.proxyPort","808");
AxisProperties.setProperty("http.proxyUser","");
AxisProperties.setProperty("http.proxyPassword","");
Proxy p=null;
if(getinfo.getNetProxyProperty("proxyType").equals("sock5")){
p= new Proxy(Proxy.Type.SOCKS , add);
}
else
{
p = new Proxy(Proxy.Type.HTTP , add);
}
// 打开连接
HttpURLConnection conn = (HttpURLConnection)url.openConnection(p);
conn.connect();
}
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(url);
call.setOperationName( new QName("ReadClient", name) );
call.addParameter( "op1", XMLType.XSD_STRING, ParameterMode.IN );
call.addParameter( "op2", XMLType.XSD_STRING, ParameterMode.IN );
call.addParameter( "op3", XMLType.XSD_INT, ParameterMode.IN );
call.addParameter( "op4", XMLType.XSD_INT, ParameterMode.IN );
call.setReturnType(XMLType.XSD_STRING );

result = (String)call.invoke(new Object[]{str,key,length,count});//
System.out.println(result);
参考片段(三)
/**如果客户那边是使用代理服务器上网的。
在使用axis的调用webservice之前。则只要调用下面的代码即可:*
*/

AxisProperties.setProperty("http.proxyHost", ProxyServer.getValue("host"));
AxisProperties.setProperty("http.proxyPort", ProxyServer.getValue("port"));
AxisProperties.setProperty("http.proxyUser",ProxyServer.getValue("username"));
AxisProperties.setProperty("http.proxyPassword",ProxyServer.getValue("password"));

//ProxyServer是我自己写的类。是去读取配置文件的


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
服务安全代理(securityproxy)介绍 war包 运行环境为 jdk1.5+tomcat5+ant+axis2v1.4.1+rampartv1.4 需要的lib如图lib-need-pic.jpg所示(可从官网下载这些lib) 1)webservice的安全需求 安全性 服务访问需要适当的访问控制:认证授权、机密性、完整性。安全性可以分为3级。 灵活性 设计态服务无需考虑安全治理,所以要求提供灵活的的运行态安全标准支持。服务的安全架构是影响服务安全灵活性的重要因素。 适应性 在各种平台下对服务提供统一的安全、审计、日志管理。简化服务提供和服务管理,服务安全及基础设施实施复杂性小。 2)服务安全代理(securityproxy)实现原理 通过设置安全策略(Policy)对服务(webservice)提供实时的访问管理和控制。 通过策略来控制和管理对服务的访问,能够简单灵活的实现访问服务时的安全机制。 服务安全代理(securityproxy)在管理节点(Managed Endpoint)中实现策略 服务安全代理(securityproxy)改变了客户端与服务节点的连接结构 ——它创建了一个管理节点插入到客户端与服务节点之间 一个节点(Endpoint)指对应某个服务的地址(URL)。 随后客户端直接与管理节点连接,而不是与实际的服务节点连接 在管理节点中,服务安全代理(securityproxy)拦截消息并验证他们是否符合策略。 把安全的实现从复杂的编程中解脱出来,通过策略配置实时的组成不同的策略集合实施起来。 通过服务安全代理(securityproxy)可以 ●Authentication(认证) 发送消息时添加用户名令牌或数字签名。接收消息时验证用户名令牌或数字签名。 ●Encryption(加密) 在两个节点之间加密信息。发送信息时加密,接收信息时自动解密。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值