`
free_zhou
  • 浏览: 52114 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Axis1.4客户端调用,Soap消息头设置

阅读更多
提交了辞职信,工作交接中,闲来无事访问apache的网站,想起来曾一时让我很头疼的webservice,随手写了几行代码,就当练手吧!接下来学习axis2,奔着那个方向去。
这段代码是我在调用电信的服务时的客户端代码,实现下发手机短信的部分代码。重点1.stub方式ws的应用。2.怎么设置soap头。还是那句老话,从知道到不知道是一个很艰苦的过程。
  public static void main(String[] args) throws InterruptedException
	{
		Test test = new Test();
		try
		{
			//URL 调用webservice地址
			SendSmsBindingStub service = (SendSmsBindingStub) new SendSmsServiceLocator().getSendSms(new URL("http://1.1.1.1:8080/SendSmsService"));
			SOAPHeaderElement header = new SOAPHeaderElement("http://www.chinatelecom.com.cn/schema/ctcc/common/v2_1","RequestSOAPHeader");
			SOAPElement soap = null;
			
			soap = header.addChildElement("password");
			soap.addTextNode(test.getPassword().toUpperCase());
			
                           soap = header.addChildElement("productId");
			Node node = doc.selectSingleNode("//cctc/projects/productid[@busiid='"+ busiid +"']");
			if(node != null)
				soap.addTextNode(node.getText());
			else
				soap.addTextNode(""); 
			//....................
			
			//设置头
			service.setHeader(header);
                           //因设置不群发,所以去URL的第一个元素
			String result = service.sendSms(new URI[0], "senderName", new ChargingInformation(), "message", new SimpleReference());
			
			System.out.println(result);
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}
	
	private String getPassword()
	{
		//密码为接入网关号+接入密码+10为时间戳后MD5加密
		String password = "xxxxxxx" + "yyyyyy" + getTimetemp();
		MessageDigest md5 = getMD5();
		md5.update(password.getBytes());
		byte[] result = md5.digest();
		StringBuffer strBuffer = new StringBuffer();
		for(int i = 0; i < result.length; i++)
		{
			String temp = Integer.toHexString(result[i] & 0xff);
			if(temp.length() == 1)
				strBuffer.append("0");
			strBuffer.append(temp);
		}
		return strBuffer.toString();
	}
	private SimpleDateFormat sdf = null;
	private String getTimetemp()
	{
		if(sdf == null)
			sdf = new SimpleDateFormat("MMddHHmmss");
		return sdf.format(new Date(System.currentTimeMillis()));
	}
	
	private static MessageDigest getMD5()
	{
		MessageDigest md5 = null;
		try
		{
			if(md5 == null)
				md5 = MessageDigest.getInstance("MD5");
		}
		catch (NoSuchAlgorithmException e)
		{
			e.printStackTrace();
		}
		return md5;
	}
分享到:
评论

相关推荐

    AXIS1.4客户端调用

    AXIS1.4客户端调用是关于Web服务客户端开发的一个主题,主要涉及到使用Apache Axis1.4库来创建和调用SOAP(Simple Object Access Protocol)服务。Apache Axis1.4是一个开源工具,它允许开发者在Java环境中轻松地...

    axis1.4生成客户端

    Axis1.4是Apache软件基金会提供的一个开源工具,专门用于处理Web服务,特别是基于SOAP(Simple Object Access Protocol)的Web服务。本文将深入探讨如何使用Axis1.4生成客户端,以及与之相关的知识点。 1. **Web...

    axis1.4完整包下载

    - **消费Web服务**:使用Axis1.4提供的客户端工具,可以自动生成Java客户端代理类,方便调用远程SOAP服务。 - **处理WSDL**: Axis1.4允许从WSDL生成Java服务端代码或从Java类生成WSDL,实现了服务描述的双向转换。 ...

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

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

    【java项目整合Axis1.4webservice搭建实例】客户端代码

    而Axis1.4是Apache软件基金会提供的一个Web服务工具包,它支持SOAP(简单对象访问协议)和WSDL(Web服务描述语言),使得开发者能够快速地创建、部署和调用Web服务。 **步骤一:创建Web服务** 在整合Axis1.4之前,...

    springboot+axis1.4

    而Axis1.4是Apache软件基金会的一个开源项目,它提供了一个SOAP(简单对象访问协议)Web服务框架,用于创建和部署Web服务。 当我们需要在Spring Boot项目中集成Axis1.4来实现Web服务时,我们需要了解以下几个关键...

    webservice :spring 3+cxf3.4服务方,AXIS1.4请示方调用

    为了能够通过Axis 1.4客户端调用上面部署的WebService,需要对生成的WSDL文件进行一定的修改,使其符合Axis 1.4的要求。 **步骤四:修改WSDL文件** 1. **下载WSDL文件**:通过访问服务的WSDL URL将其保存为`...

    手写Axis1.4发布WebService以及客户端调用

    标题中的“手写Axis1.4发布WebService以及客户端调用”指的是使用Apache Axis1.4框架来创建和消费Web服务的过程。Apache Axis是用于构建Web服务的一个开源工具,它允许开发者将Java类转换为Web服务,并且提供客户端...

    axis1.4帮助文档

    Axis1.4提供了SOAP消息的发送和接收功能,使得开发者可以创建SOAP客户端和服务端。 3. **WSDL**:WSDL是XML格式的文档,定义了Web服务的接口,包括服务的位置、提供的操作以及如何调用这些操作。在Axis1.4中,可以...

    Springboot集成axis1.4的demo

    当我们需要在Spring Boot项目中集成旧版的 Axis1.4 来发布Web服务时,这通常涉及到对传统SOAP(简单对象访问协议)服务的支持。以下将详细讲解如何在Spring Boot应用中集成Axis1.4以及使用wsdd文件发布Web服务。 ...

    apache axis1.4实例

    1. SOAP消息处理:Axis1.4支持自定义SOAP处理器,允许开发者对消息进行拦截和修改。 2. 安全性:通过WS-Security标准,可以实现身份验证、加密和消息完整性检查。 3. 缓存:可以通过缓存机制优化服务性能,减少不必...

    springboot使用axis1.4的demo

    Spring Boot以其简化配置和快速开发能力而受到广泛欢迎,而Axis1.4是Apache软件基金会的一个开源项目,主要用于生成和消费SOAP Web服务。当我们需要在Spring Boot应用程序中集成Web服务时,Axis1.4提供了一个强大的...

    webservice axis1.4服务实例

    5. **测试服务**:创建一个客户端测试程序,使用Axis1.4的`java2wsdl`工具生成客户端代码,然后调用服务并验证结果。 在“axis1Test”这个文件中,可能包含了上述步骤中生成的各种文件,比如Java服务类、WSDL文档、...

    apache axis1.4 官网备份

    Apache Axis1.4是历史悠久的一款开源SOAP(Simple Object Access Protocol)服务器和客户端库,它主要用于构建Web服务。这款工具在2003年发布,是Apache软件基金会的一部分,旨在简化XML-RPC和SOAP的实现。由于其...

    axis1.4 + document/literal 实例

    总结起来,这个"axis1.4 + document/literal 实例"提供了一个学习如何使用Axis 1.4框架创建和调用基于document/literal绑定的Web服务的机会。通过分析和实践提供的客户端和服务端代码,开发者可以加深对Web服务原理...

    webservice axis1.4 开发资料

    Axis1.4是Apache软件基金会提供的一个开源Web服务框架,主要用于构建和部署SOAP(Simple Object Access Protocol)服务。在本文中,我们将详细探讨Axis1.4在Web服务开发中的关键知识点。 1. **Axis1.4框架**:Axis...

    axis1.4及webService开发教程

    总的来说,Axis1.4是Web服务开发的一个强大工具,通过本教程提供的文件和说明,开发者可以快速掌握Web服务的开发流程,无论是在服务端发布还是客户端调用,都能得心应手。在深入学习和实践过程中,还会涉及到WS-...

    在axis1.4中传递复杂类型数组参数(ArrayMapping)

    在 Axis1.4 中传递复杂类型数组参数,涉及到的是 Web 服务中的数据绑定和消息处理。Axis 是一个开源的 SOAP 库,它允许开发者创建、部署和使用 Web 服务。在处理复杂类型数组时,ArrayMapping 是 Axis 中的一个关键...

    Axis1.4如何实现头部鉴权

    Apache Axis是用于构建和调用Web服务的一个流行框架,其版本Axis1.4提供了多种安全性和认证机制,包括通过HTTP头部进行鉴权的方式。本文将深入探讨如何在Axis1.4中实现头部鉴权,包括其实现类模板的详细介绍。 ### ...

Global site tag (gtag.js) - Google Analytics