本篇文章记录一次调用Service.asmx接口实现的过程,和一些总结的知识。
转载自:http://blog.csdn.net/ckpckp/article/details/71215527
Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件(服务),使用WSDL文件进行(说明),并通过(UDDI)进行注册。
XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基础。
Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。规范XML标签
WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。服务端的使用说明书
.asmx是webservice服务程序的后缀名,ASP.NET 使用.asmx 文件来对Web Services的支持。.asmx 文件和.aspx文件一样都属于文本文件。它包含在.aspx文件之中,成为ASP.NET应用程序的一部分。
实现代码
//用户名--bjca的32位码
String user = "XXXXXXX";
//发送的信息
String message = "helloWorld";
//返回的状态值
String expireTime = "60";
//webService方法
//获取webservice接口地址
String url = "http:/XXXXX/Service.asmx";
//获取域名地址,server定义的
String soapaction = "http://tempuri.org/";
String method = "XXXXX";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(url);
//设置要调用的方法
call.setOperationName(new QName(soapaction,method));
//设置要返回的数据类型
call.setReturnType(new QName(soapaction,method), String.class);
call.setUseSOAPAction(true);
call.setSOAPActionURI(soapaction+method);
//设置参数
call.addParameter(new QName(soapaction, "user"),
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.addParameter(new QName(soapaction, "message"),
org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.addParameter(new QName(soapaction, "expireTime"),
org.apache.axis.encoding.XMLType.XSD_INTEGER,
javax.xml.rpc.ParameterMode.IN);
Object[] obj = {user, message, expireTime };
//调用方法并传递参数
String result = (String) call.invoke(obj);
System.out.println("result is:::"+result);
其中用到的Service类 文档解释https://axis.apache.org/axis/java/apiDocs/org/apache/axis/client/Service.html
代码可用