永发信息网

动态调用webservice同时给webservice添加头部验证

答案:1  悬赏:40  手机版
解决时间 2021-01-10 10:10
动态调用webservice同时给webservice添加头部验证
最佳答案
basic认证:我用的是XFIRE。1,首先修改services.xml

HelloWorld
com.ktsfot.ws.security.IHelloWorld

com.ktsfot.ws.security.HelloWorldImpl





literal
application
2,AuthenticationHandler类的写法package com.ktsfot.ws.security;import org.codehaus.xfire.MessageContext;
import org.codehaus.xfire.handler.AbstractHandler;
import org.jdom.*;public class AuthenticationHandler extends AbstractHandler { public void invoke(MessageContext cfx) throws Exception {
// TODO Auto-generated method stub
if(cfx.getInMessage().getHeader() == null)
if(cfx.getInMessage().getHeader()==null){
throw new org.codehaus.xfire.fault.XFireFault("请求必须包含验证信息",org.codehaus.xfire.fault.XFireFault.SENDER);
}
Element token=cfx.getInMessage().getHeader().getChild("AuthenticationToken");
if (token == null){
throw new org.codehaus.xfire.fault.XFireFault("请求必须包含身份验证信息", org.codehaus.xfire.fault.XFireFault.SENDER);
} String username = token.getChild("Username").getValue();
String password = token.getChild("Password").getValue();
try{
//进行身份验证 ,只有abcd@1234的用户为授权用户
if(username.equals("abcd") && password.equals("1234"))
//这语句不显示
System.out.println("身份验证通过");
else throw new Exception();
}
catch (Exception e){
throw new org.codehaus.xfire.fault.XFireFault("非法的用户名和密码", org.codehaus.xfire.fault.XFireFault.SENDER);
}
}} 3,客户端调用:HelloWorldClient client = new HelloWorldClient();
//create a default service endpoint
HelloWorldPortType service = client.getHelloWorldHttpPort();

XFireProxy proxy = (XFireProxy)Proxy.getInvocationHandler(service);
proxy.getClient().addOutHandler(new ClientAuthenticationHandler("abcd", "1234"));
System.out.print(service.sayHello());
System.exit(0);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
3千米=________米????2分=________秒1厘米-4
求助.游戏速度太快了
铅块有毒吗?
女性57岁这两天感觉一时热一时冷这是怎么回事
古代有才华却不得重用的人有哪些?
10x-40.5=x怎么计算?
资阳哪里有好的催乳师
black horse是啥意思
怎样画图书代借卡
海员三副白票证书
我用ABS注塑的产品,很脆,一折就断,求助原
【花火】里面结局好的短编小说
吴中印象在哪里啊,我有事要去这个地方
控制系统的相对稳定性的定义
2㎡+ 5m=-3 m=
推荐资讯
已经知道地球磁场南北极和地理上的南北极有磁
用加减法解方程组时,要使方程组中同一个未知
+(-0.15)=?
求一篇关于父爱的作文,600字左右,谢谢!
为什么把家比做根,巢,海,岸
单选题Jack,whowasusuallyshy,foundhims
辣椒一毛钱一斤摘20斤多少钱
排列 6 5 2 3 4 1 的逆序数为?
鉴别苄基氯,1氯丙烷,1溴丙烷
听说二炮有战斗和工程两种。请问二炮战斗兵工
陪读住40天旅馆该怎办手续
我不小心误食了一点塑料薄膜,怎么办
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?