webService返回自定义类型的数据处理
1.自定义一个Student 数据类型:
package com.chnic.webservice;
import java.io.Serializable;
public class Student implements Serializable {
private String id;
private String name;
public Student() {}
public Student(String id, String name) {
super();
this.id = id;
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
2.写Service程序:
package com.chnic.webservice;
public class HelloWorld {
public HelloWorld(){}
public Student getStudentInfo(){
Student a = new Student("001","noodles");
return a;
}
}
3.将上述文件部署至axis的class目录,并对server-config.wsdd文件进行相关描述:
<deployment xmlns = "http://xml.apache.org/axis/wsdd/"
xmlns:java = "http://xml.apache.org/axis/wsdd/providers/java">
<service name = "HelloWorld" provider = "java:RPC">
<parameter name = "className" value = "com.chnic.webservice.HelloWorld"/>
<parameter name = "allowedMethods" value = "*"/>
<beanMapping qname="myNS:Student" xmlns:myNS="urn:HelloWorld" languageSpecificType="java:com.chnic.webservice.Student"/>
</service>
</deployment>
4.重启tomcat,清空/tomcat/work,删除server-config.wsdd文件进行重新部署.
通过http://localhost:8080/axis/servlet/AxisServlet查看所部署的服务.
5.客户端写测试:
package com.chnic.test;
import java.net.URL;
import javax.xml.namespace.QName;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.ser.BeanDeserializerFactory;
import org.apache.axis.encoding.ser.BeanSerializerFactory;
import com.chnic.webservice.Student;
public class Test {
public static void main(String[] args) throws Exception{
String targetEendPoint = "http://localhost:7070/axis/services/HelloWorld" ;
Service service = new Service();
Call call = (Call) service.createCall();
QName qn = new QName("urn:HelloWorld","Student");
call.registerTypeMapping(Student.class, qn,
new BeanSerializerFactory(Student.class,qn),
new BeanDeserializerFactory(Student.class,qn));
call.setTargetEndpointAddress( new URL(targetEendPoint));
call.setOperationName( new QName(targetEendPoint, "getStudentInfo" ));
call.setReturnClass(Student.class);
Student s = (Student) call.invoke( new Object[]{});
System.out.println(s.getName()+ " ’s id is: " + s.getId());
}
}
webService返回自定义类型的数据处理的更多相关文章
- MyBatis中Mapper的返回值类型
insert.update.delete语句的返回值类型 对数据库执行修改操作时,数据库会返回受影响的行数. 在MyBatis(使用版本3.4.6,早期版本不支持)中insert.update.del ...
- ResultMap和ResultType在使用中的区别、MyBatis中Mapper的返回值类型
在使用mybatis进行数据库连接操作时对于SQL语句返回结果的处理通常有两种方式,一种就是resultType另一种就是resultMap,下面说下我对这两者的认识和理解 resultType:当使 ...
- webservice调用接口,接口返回数组类型
1. 其中sendSyncMsg1接口是方法名,Vector实现了List接口,xml是sendSyncMsg1的方法形参 Service service = new Service(); Call ...
- WebApi 接口返回值不困惑:返回值类型详解。IHttpActionResult、void、HttpResponseMessage、自定义类型
首先声明,我还没有这么强大的功底,只是感觉博主写的很好,就做了一个复制,请别因为这个鄙视我,博主网址:http://www.cnblogs.com/landeanfen/p/5501487.html ...
- CXF2.7整合spring发布webservice,返回值类型是Map和List<Map>类型
在昨天研究了发布CXF发布webservice之后想着将以前的项目发布webservice接口,可是怎么也发布不起来,服务启动失败,原来是自己的接口有返回值类型是Map. 研究了一番之后,发现: we ...
- 【Spring】利用spring的JdbcTemplate查询返回结果映射到自定义类型
// org.springframework.jdbc.core.JdbcTemplate 中的查询方法基本都有支持参数RowMapper<T> rowMapper的重载方法.下面只是随便 ...
- 05 SpringMVC:02.参数绑定及自定义类型转换&&04.SpringMVC返回值类型及响应数据类型&&05.文件上传&&06.异常处理及拦截器
springMVC共三天 第一天: 01.SpringMVC概述及入门案例 02.参数绑定及自定义类型转换 03.SpringMVC常用注解 第二天: 04.SpringMVC返回值类型及响应数据类型 ...
- 【转】java 访问.net webservice返回的数据集
转自[转的也是转的][http://blog.csdn.net/fox123871/article/details/8637839] 1. 概述 很多正在开发或者打算开发XML Web Service ...
- java通过poi读取excel中的日期类型数据或自定义类型日期
Java 读取Excel表格日期类型数据的时候,读出来的是这样的 12-十月-2019,而Excel中输入的是 2019/10/12 或 2019-10-12 poi处理excel时,当excel没 ...
随机推荐
- Windows server 2008系统下FTP服务器的安装
一.在 Windows 服务器上安装 FTP 服务 1. 在"开始"菜单上,单击"管理工具",然后单击"服务器管理器". 2. 在" ...
- Chrome: Shockwave Flash isn't responding
这个问题问 Google 解决得比较快,百度里尽是转载党的东西! 1. 到 chrome://settings/content 找到 Plug-ins 项目 2. 点击 Plug-ins 里的 Exc ...
- SQL从入门到基础 - 06 限制结果集范围
一.限制结果集行数 1. Select top 5* from T_Employee order by FSalary DESC 2. (*)检索按照工资从高到低排序检索从第六名开始一共四个人的信息: ...
- ORA-04021
编译或删除存储过程的时候,系统会卡住,一段时间后出现ora-04021错误. 1.可能被锁住查看v$locked select b.sid,b.serial#,b.machine,b.terminal ...
- MySQL innotop实时监测工具
安装:wget http://innotop.googlecode.com/files/innotop-1.8.0.tar.gz# perl Makefile.PL # make install解决C ...
- cell高度自动适应文章内容
效果: 描述:表视图中生成多个不同的cell,cell的高度跟文字内容的多少有关 要求:需要自己在网上下载一个plis文件,然后修改两个标题 一 : 创建工程文件UIAutomaticCellHeig ...
- 循序渐进Socket网络编程(多客户端、信息共享、文件传输)
循序渐进Socket网络编程(多客户端.信息共享.文件传输) 前言:在最近一个即将结束的项目中使用到了Socket编程,用于调用另一系统进行处理并返回数据.故把Socket的基础知识总结梳理一遍. 1 ...
- window程序设计1
int WINAPI WinMain(HINSTANCE HInstance,HINSTANCE HPreInstance,LPSTR szCmdLine,int CmdShown) { Massag ...
- C#Mysql数据库爆破源码
声明: 代码仅供学习参考使用!开启了一个子线程,进行爆破! 速度不是很快,代码不是很规范,希望大牛不要喷我! c#控制台程序,需要引用MySql.Data.dll 默认用户名: root密码字典: p ...
- DOCKER,需要进入生产实践
先玩起... 以下初级问题的解决: docker -dINFO[0000] +job serveapi(unix:///var/run/docker.sock) INFO[0000] WARNING: ...