提交了辞职信,工作交接中,闲来无事访问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客户端调用是关于Web服务客户端开发的一个主题,主要涉及到使用Apache Axis1.4库来创建和调用SOAP(Simple Object Access Protocol)服务。Apache Axis1.4是一个开源工具,它允许开发者在Java环境中轻松地...
Axis1.4是Apache软件基金会提供的一个开源工具,专门用于处理Web服务,特别是基于SOAP(Simple Object Access Protocol)的Web服务。本文将深入探讨如何使用Axis1.4生成客户端,以及与之相关的知识点。 1. **Web...
- **消费Web服务**:使用Axis1.4提供的客户端工具,可以自动生成Java客户端代理类,方便调用远程SOAP服务。 - **处理WSDL**: Axis1.4允许从WSDL生成Java服务端代码或从Java类生成WSDL,实现了服务描述的双向转换。 ...
在这个"AXIS1.4 WebService服务端和客户端例子"中,我们将深入探讨如何使用AXIS1.4搭建服务端和客户端,以及如何进行远程调用。 首先,让我们从服务端开始。服务端是提供Web服务的系统,它可以接收客户端的请求并...
而Axis1.4是Apache软件基金会提供的一个Web服务工具包,它支持SOAP(简单对象访问协议)和WSDL(Web服务描述语言),使得开发者能够快速地创建、部署和调用Web服务。 **步骤一:创建Web服务** 在整合Axis1.4之前,...
而Axis1.4是Apache软件基金会的一个开源项目,它提供了一个SOAP(简单对象访问协议)Web服务框架,用于创建和部署Web服务。 当我们需要在Spring Boot项目中集成Axis1.4来实现Web服务时,我们需要了解以下几个关键...
为了能够通过Axis 1.4客户端调用上面部署的WebService,需要对生成的WSDL文件进行一定的修改,使其符合Axis 1.4的要求。 **步骤四:修改WSDL文件** 1. **下载WSDL文件**:通过访问服务的WSDL URL将其保存为`...
标题中的“手写Axis1.4发布WebService以及客户端调用”指的是使用Apache Axis1.4框架来创建和消费Web服务的过程。Apache Axis是用于构建Web服务的一个开源工具,它允许开发者将Java类转换为Web服务,并且提供客户端...
Axis1.4提供了SOAP消息的发送和接收功能,使得开发者可以创建SOAP客户端和服务端。 3. **WSDL**:WSDL是XML格式的文档,定义了Web服务的接口,包括服务的位置、提供的操作以及如何调用这些操作。在Axis1.4中,可以...
当我们需要在Spring Boot项目中集成旧版的 Axis1.4 来发布Web服务时,这通常涉及到对传统SOAP(简单对象访问协议)服务的支持。以下将详细讲解如何在Spring Boot应用中集成Axis1.4以及使用wsdd文件发布Web服务。 ...
1. SOAP消息处理:Axis1.4支持自定义SOAP处理器,允许开发者对消息进行拦截和修改。 2. 安全性:通过WS-Security标准,可以实现身份验证、加密和消息完整性检查。 3. 缓存:可以通过缓存机制优化服务性能,减少不必...
Spring Boot以其简化配置和快速开发能力而受到广泛欢迎,而Axis1.4是Apache软件基金会的一个开源项目,主要用于生成和消费SOAP Web服务。当我们需要在Spring Boot应用程序中集成Web服务时,Axis1.4提供了一个强大的...
5. **测试服务**:创建一个客户端测试程序,使用Axis1.4的`java2wsdl`工具生成客户端代码,然后调用服务并验证结果。 在“axis1Test”这个文件中,可能包含了上述步骤中生成的各种文件,比如Java服务类、WSDL文档、...
Apache Axis1.4是历史悠久的一款开源SOAP(Simple Object Access Protocol)服务器和客户端库,它主要用于构建Web服务。这款工具在2003年发布,是Apache软件基金会的一部分,旨在简化XML-RPC和SOAP的实现。由于其...
总结起来,这个"axis1.4 + document/literal 实例"提供了一个学习如何使用Axis 1.4框架创建和调用基于document/literal绑定的Web服务的机会。通过分析和实践提供的客户端和服务端代码,开发者可以加深对Web服务原理...
Axis1.4是Apache软件基金会提供的一个开源Web服务框架,主要用于构建和部署SOAP(Simple Object Access Protocol)服务。在本文中,我们将详细探讨Axis1.4在Web服务开发中的关键知识点。 1. **Axis1.4框架**:Axis...
总的来说,Axis1.4是Web服务开发的一个强大工具,通过本教程提供的文件和说明,开发者可以快速掌握Web服务的开发流程,无论是在服务端发布还是客户端调用,都能得心应手。在深入学习和实践过程中,还会涉及到WS-...
在 Axis1.4 中传递复杂类型数组参数,涉及到的是 Web 服务中的数据绑定和消息处理。Axis 是一个开源的 SOAP 库,它允许开发者创建、部署和使用 Web 服务。在处理复杂类型数组时,ArrayMapping 是 Axis 中的一个关键...
Apache Axis是用于构建和调用Web服务的一个流行框架,其版本Axis1.4提供了多种安全性和认证机制,包括通过HTTP头部进行鉴权的方式。本文将深入探讨如何在Axis1.4中实现头部鉴权,包括其实现类模板的详细介绍。 ### ...