WebService笔记
来源:互联网 发布:描述软件测试生命周期 编辑:程序博客网 时间:2024/06/04 00:38
调用web服务的两种方法:
1.用wsdl文件生成客户端程序:
//SqmService 服务名
SqmServiceService sqmSvr = new SqmServiceServiceLocator();
SqmService instance = sqmSvr.getSqmService(new URL(
"http://localhost:7001/EMOSSqmSvr/services/SqmService"));
String request = "";//请求报文
String codeRe = instance.employeeModify("updateEmployeeCode", request);
//根据服务的方法,传特定的参数。
2.用axies提供的客户端的调用方法:
org.apache.axis.client.Service serv = new Service();
String url = "http://localhost:7001/EMOSSqmSvr/services/SqmService";
org.apache.axis.client.Call call = (Call) serv.createCall();
java.net.URL endpointURL = new URL(url);
call.setTargetEndpointAddress(endpointURL);
call.setOperationName(method);
call.addParameter("a", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter("b", XMLType.XSD_STRING, ParameterMode.IN);
results = call.invoke(new Object[]{"updateEmployeeCode",str});
添加SOAP报头,在invoke之前做处理,如下:
String header = "<Esb>" + "<Route>" + "<Time>" + "20110417"
+ "</Time>" + "</Route>" + "</Esb>";
StringReader sr = new StringReader(str1);
InputSource is = new InputSource(sr);
Element esb = (Element) DocumentBuilderFactory.newInstance()
.newDocumentBuilder().parse(is).getElementsByTagName("Esb").item(0);
call.addHeader(new SOAPHeaderElement(header));
在web服务中定义自己的handler方法:
编写自己的hadler类,如:
public class SqmSOAPHeader extends org.apache.axis.handlers.BasicHandler {
public void invoke(org.apache.axis.MessageContext msgContext) {
//具体实现的方法体
}
}
之后在server—config.wsdd中配置handler;
定义handler
<ns1:handler name="test" type="java:类全路径"/>
在服务的ns1:service中引用定义的handler
<ns1:responseFlow><ns1:handler type="test"/></ns1:responseFlow>
- WebService笔记
- webservice笔记
- webservice笔记
- webservice笔记
- webservice笔记
- WebService笔记
- webservice笔记
- webservice笔记
- webservice笔记
- WebService 笔记
- WebService 笔记
- WebService笔记
- WebService 学习笔记
- WebService学习笔记2
- Java WebService 整理笔记
- Java WebService 整理笔记
- WebService开发笔记
- WebService学习笔记
- 创建主键与外键的命令
- VC2008项目配置问题
- C++语言的数据空间分配
- 超级3合1U盘维护系统
- 判断一个正整数是不是素数(C++)
- WebService笔记
- Interpreter 设计模式 实现代码
- matlab字符串
- 程序员转型不得不说的事(一) 转型的原因
- 纹理
- PROC MEANS AND PROC SUMMARY
- “新车间”的3D打印机
- 程序员转型不得不说的事(二) 成为技术大牛
- 【转】error LNK2019: 无法解析的外部符号 "__declspec(dllimport)