`
h140465
  • 浏览: 22055 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

AXIS访问xfire服务端,身份验证的问题!!! 在CSDN挂了2天没人回答!!

DAO 
阅读更多
我使用xifre开发的服务端,服务端添加了身份验证(验证用户名,和密码)

  身份验证代码如下:
 
public class AuthenticationHandler extends AbstractHandler {
	
	 Properties props = new Properties();
	 SimpleDateFormat time=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
	 private DAOUtil dao;
    
	 public void invoke(MessageContext cfx) throws Exception {
    	 InterfaceLogger log = new InterfaceLogger();
    	
    	 String url = this.getClass().getClassLoader().getResource("validate.properties").toString().substring(5); 
			
			InputStream in = new BufferedInputStream (new FileInputStream(url));
			props.load(in);
			String flag = props.getProperty("flag");
			String psd = props.getProperty("password");
			String uname = props.getProperty("username");
			
			if(flag.equals("false"))
			return;
    	 HttpServletRequest request = XFireServletController.getRequest();
    	 OperationInfo  o = (OperationInfo) cfx.getService().getServiceInfo().getOperations().iterator().next();
    	 String service = o.getService().getServiceClass().getName()+"."+o.getMethod().getName();
    	 
    	 //生成接口访问日志
    	 log.setContent(cfx.getCurrentMessage().getBody().toString());
    	 log.setIp(request.getRemoteAddr());
    	 log.setLog_time(time.format(new Date()));
    	 log.setName(service);
    	 log.setType("*******");
    	 
    	 //将日志存入到session中
    	 cfx.getSession().put(cfx.getId(), log);
    	 
		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();
		log.setUser_name(username);
		
		try {
			
			// 进行身份验证 ,只有abcd@1234的用户为授权用户
			if (username.equals(uname) && password.equals(psd)) 
				// 这语句不显示
				System.out.println("身份验证通过");
			else
				throw new Exception();
		} catch (Exception e) {
			log.setEnd_time(time.format(new Date()));
			dao.getSqlMapClientTemplate().insert("logger", log);
			throw new org.codehaus.xfire.fault.XFireFault("非法的用户名和密码",
					org.codehaus.xfire.fault.XFireFault.SENDER);
		}
		
	}


   现在遇到的问题是:其他系统有可能使用axis客户端访问,但是我不知道怎么在xifre服务端获取axis客户端传来的用户名,密码

   
分享到:
评论
3 楼 378629846 2012-11-24  
Call call = (Call)new Service().createCall();
call.setTargetEndpointAddress(url);
SOAPHeaderElement header = new SOAPHeaderElement("","AuthenticationToken"); 
header.setPrefix(""); 
javax.xml.soap.SOAPElement soapElement = header.addChildElement("Username"); 
soapElement.addTextNode("abcd"); 
soapElement = header.addChildElement("Password"); 
soapElement.addTextNode("1234"); 
call.addHeader(header); 
Object obj = call.invoke(method, new String[]{pramaxml});
2 楼 h140465 2011-01-12  
过几天发给代码,不论客户端把验证信息放到哪个节点都能找出来
1 楼 ldb19890624 2010-09-09  
   你这个东东 客户端怎么知道 把验证信息往哪个节点放呢。。。!!!!

相关推荐

    xfire接口程序,包含xfire服务端和axis客户端

    在IT行业中,接口程序是系统间通信的关键,而xfire和axis是两种广泛使用的Java Web服务框架,它们在实现服务端和客户端交互方面扮演着重要角色。本项目名为"xfire接口程序,包含xfire服务端和axis客户端",旨在提供...

    axis2客户端调用服务端,带用户身份认证

    当涉及到“axis2客户端调用服务端,带用户身份认证”时,我们主要关注的是如何在 Axis2 客户端中添加安全机制,确保只有经过验证的用户能够访问服务。 首先,理解身份认证是网络安全的基础。在Web服务中,通常采用...

    Axis1,Axis2,Xfire,CXF区别

    Axis1, Axis2, Xfire, CXF 区别 Axis1, Axis2, Xfire, CXF 是四种常用的WebService框架,它们之间有着不同的特点和应用场景。本文将对这四种框架进行详细的比较和分析,以帮助开发者选择合适的框架。 XFire 是一种...

    WebService Axis和XFire(CXF)的开发流程

    2. **XFire (CXF)**:XFire(现为Apache CXF)是一个更现代的框架,它集成了Spring,使得服务端的开发更加简单,因为大部分逻辑都被封装到了底层API中。XFire支持直接配置生成WSDL,且能与Spring无缝集成,简化了...

    axis以及xfire所需要的Jar包

    在Java开发中,有时我们需要处理Web服务,而Axis和XFire是两个著名的Java Web服务框架。这两个工具都允许开发者创建、部署和消费Web服务,但它们各有特点和用途。 **Axis**是由Apache软件基金会开发的一个开源项目...

    axis2测试服务端 所需jar包

    标题中的“axis2测试服务端所需jar包”指的是在开发和测试基于Axis2框架的Web服务时所需的Java库。Axis2是Apache软件基金会的一个开放源代码项目,它是一个高效的、可扩展的服务导向架构(SOA)平台,专门用于构建和...

    AXIS1.4webservice服务端和客户端例子

    在这个"AXIS1.4 WebService服务端和客户端例子"中,我们将深入探讨如何使用AXIS1.4搭建服务端和客户端,以及如何进行远程调用。 首先,让我们从服务端开始。服务端是提供Web服务的系统,它可以接收客户端的请求并...

    Axis2与Eclipse整合开发的Web Service的服务端

    【描述】:本文将详细介绍如何在Eclipse环境中利用Axis2框架开发一个Web Service服务端,包括计算器服务CalculateService的实现步骤。 【标签】:Axis2, Eclipse, 整合开发, Web Service 【内容】: 开发Web ...

    Axis1.4从服务端到客户端图文攻略(附赠Axis1.4 Jar包)

    Axis1.4从服务端到客户端图文攻略,同时附赠Axis1.4 Jar包。 本攻略经过多次测试可靠耐用,并同时带有详细的文字说明,保证一学就会!从现在起axis不再是问题!让你爱上web service!

    axis,xfire测试案列+开发文档API+axis1.jar.rar

    标题 "axis,xfire测试案列+开发文档API+axis1.jar.rar" 涉及的是两个关键的Java Web服务框架:Axis1和XFire。这两个框架主要用于构建和消费SOAP(简单对象访问协议)Web服务。以下是关于这些技术的详细说明: **...

    axis和xfire配置webService的源代码

    标题中的“axis”和“xfire”是两个不同的Java Web Service框架,它们允许开发者创建和消费Web服务。本文将深入探讨这两个框架以及如何配置它们来实现Web服务。 **Axis** Axis是Apache软件基金会的一个开源项目,...

    基于axis2实现的webservice简单实现(客户端+服务端)。

    【标题】中的“基于axis2实现的webservice简单实现(客户端+服务端)”表明了本文将探讨如何使用Apache Axis2框架来创建和消费Web服务。Apache Axis2是Apache软件基金会开发的一个Web服务引擎,它提供了高效且灵活的...

    axis2生成客户端服务端代码

    ### Axis2生成客户端与服务端代码详解 #### 一、Axis2简介 Axis2是Apache组织下的一个开源项目,它是一种高性能、轻量级的Web服务框架,支持SOAP和REST等协议,能够帮助开发者轻松地构建和部署Web服务。Axis2提供了...

    axis1.4服务端

    Axis1.4是Apache软件基金会开发的一个开源SOAP(简单对象访问协议)框架,主要用于构建Web服务。这个框架基于Java,允许开发者将Java类公开为Web服务,并且可以消费其他Web服务。在本项目中,"axis1.4服务端"指的是...

    axis2 服务端源代码

    在IT领域,特别是Web服务开发中,Apache Axis2是一个广泛使用的SOAP(简单对象访问协议)引擎。它为开发者提供了构建高性能、高效率Web服务的能力。本资源“Axis2服务端源代码”是针对这个框架的服务器端实现,旨在...

    spring+axis2_xfire整合的webservice

    【Spring + Axis2 + XFire 整合的Web Service】是一种在Java环境下构建Web服务的解决方案,它结合了Spring框架的灵活性和Axis2、XFire的Web服务处理能力。Web服务是一个基于开放标准的分布式计算模型,允许不同系统...

    Axis2搭建WebService服务端demo

    在本文中,我们将深入探讨如何使用Spring、Axis2和Maven构建一个基于Java的Web服务(WebService)服务端示例。这些技术的结合为开发人员提供了高效、灵活且可扩展的解决方案来创建和消费Web服务。 首先,让我们了解...

    axis2服务端源码,带用户身份认证

    在“axis2服务端源码,带用户身份认证”这个项目中,我们关注的是如何在Axis2服务端实现安全的身份验证机制,确保只有经过授权的用户能够访问服务。 1. **Axis2框架**: Axis2是Java Web服务的核心引擎,它提供了...

    搜集网上的资料总结的XFire,Axis2,CXF的对比

    在Java Web项目中,调用.NET WCF发布的Web服务时,常常会遇到选择合适的Web服务客户端框架的问题。本文主要对比了三种流行的Java Web服务框架:XFire、Axis2和CXF,以帮助开发者做出最佳选择。 首先,CXF是一个由...

    axis生成webservice服务端和客户端详细说明及实例

    在Tomcat的`webapps`目录下创建一个名为`axis2/WEB-INF/services/HelloWorldService`的目录,并将`HelloWorldService.jar`和相关的`.aar`文件放入其中。 5. 测试服务端 启动应用服务器,访问`...

Global site tag (gtag.js) - Google Analytics