Axis开发WebService(二)
来源:互联网 发布:淘宝交易快照 编辑:程序博客网 时间:2024/06/10 06:12
当WebService需要传自定义的Object类型时,这篇博文就讲这个内容。
1、服务端程序
自定义的传参类:RequestModel .java和ResponseModel.java,这个类是一样,只是为了实验证明可以传送和返回自定义的类型。
package com.webservice.service;
2.项目的WEB-INF目录deploy.wsdd的内容改成以下:
3、执行deploy.bat,server-config.wsdd内容变化了,再执行WSDL2Java.bat,com.webservice.client下多了RequestModel .java和ResponseModel.java。
4、测试
1、服务端程序
自定义的传参类:RequestModel .java和ResponseModel.java,这个类是一样,只是为了实验证明可以传送和返回自定义的类型。
package com.webservice.bean;public class RequestModel { private String name; private int age; private String[] items; private int[] prices; private boolean checked; public String getName() { return name; } public int getAge() { return age; } public String[] getItems() { return items; } public int[] getPrices() { return prices; } public boolean isChecked() { return checked; } public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } public void setItems(String[] items) { this.items = items; } public void setPrices(int[] prices) { this.prices = prices; } public void setChecked(boolean checked) { this.checked = checked; }}package com.webservice.bean;public class ResponseModel { private String name; private int age; private String[] items; private int[] prices; private boolean checked; public String getName() { return name; } public int getAge() { return age; } public String[] getItems() { return items; } public int[] getPrices() { return prices; } public boolean isChecked() { return checked; } public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } public void setItems(String[] items) { this.items = items; } public void setPrices(int[] prices) { this.prices = prices; } public void setChecked(boolean checked) { this.checked = checked; } }在上篇博文(Axis开发WebService)的基本上,Service.java添加doRequest2(RequestModel model)。
package com.webservice.service;
import com.webservice.bean.RequestModel;import com.webservice.bean.ResponseModel;public class Service { public Service() { } public ResponseModel doRequest2(RequestModel model){ model.setChecked(true); ResponseModel _model = new ResponseModel(); _model.setAge(model.getAge()); _model.setChecked(true); _model.setItems(model.getItems()); _model.setName(model.getName()); _model.setPrices(model.getPrices()); return _model; } public String doRequest3(String str){ return str.toUpperCase(); }}
2.项目的WEB-INF目录deploy.wsdd的内容改成以下:
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="CheckOrder" provider="java:RPC"> <parameter name="className" value="com.webservice.service.Service"/> <parameter name="allowedMethods" value="doRequest2,doRequest3"/> <beanMapping qname="myNS1:RequestModel" xmlns:myNS1="urn:Service" languageSpecificType="java:com.webservice.bean.RequestModel"/> <beanMapping qname="myNS2:ResponseModel" xmlns:myNS2="urn:Service" languageSpecificType="java:com.webservice.bean.ResponseModel"/> </service> </deployment>其中节点beanMapping就是配置自定义的参数类型的。
3、执行deploy.bat,server-config.wsdd内容变化了,再执行WSDL2Java.bat,com.webservice.client下多了RequestModel .java和ResponseModel.java。
4、测试
@Test public void test2() throws ServiceException, RemoteException{ ServiceService serviceService = new ServiceServiceLocator(); Service service = serviceService.getCheckOrder(); RequestModel model = new RequestModel(); model.setAge(10); model.setName("LAM"); model.setItems(new String[]{"1","2"}); model.setPrices(new int[]{3,4}); ResponseModel _model = service.doRequest2(model); System.out.println(_model.getAge()+_model.getName()+_model.isChecked()); }
- Axis开发WebService(二)
- Axis开发webservice
- 使用Axis开发WebService
- 用AXIS开发WEBSERVICE
- axis开发webservice(1)
- axis开发webservice(2)
- Axis 开发WebService
- 用Axis开发Webservice
- Axis 开发WebService
- 用Axis开发WebService
- axis开发webservice
- Axis 开发webservice
- axis:开发helloworld webservice
- Axis 部署开发WebService
- Axis开发WebService(一)
- Axis开发WebService 指南
- axis开发webservice
- axis开发webservice
- Android中界面实现全屏显示的两种方式
- 黑马程序员——栈与堆的区别
- Python代码性能优化技巧
- 数字信号处理的相干采样和非相干采样(1)
- 条款37:绝不重新定义继承而来的缺省参数
- Axis开发WebService(二)
- 借我一生
- Android-Day02
- jQuery 入门
- jQuery.extend扩展函数的用法
- Android_03
- UVa 10034 - Freckles (最小生成树模板题)
- Android_Day04
- Ubuntu 中文支持