.net调用java webservice基于JBOSS服务器 学习笔记(一)
1、遇到数组类型或List等复杂数据类型是,需要对其进行包装,就是将复杂数据类型放到一个类里面:
public class VOCargoJTWS {
/** JT列表 */
private List<TBLCargoJT> cargoJTs;
/** 分页数据信息*/
private PageInfo pageInfo;
public VOCargoJTWS() {
super();
}
@SuppressWarnings("unchecked")
public VOCargoJTWS(PageInfo pageInfo) {
super();
this.cargoJTs = (List<TBLCargoJT>) pageInfo.getList();
this.pageInfo = pageInfo;
pageInfo.setList(null);
}}
2.基于JBOSS服务器发布webservice:
在浏览器可以看到发布信息,访问地址http://lenovo-pc/EvisaWS/CargoJTService?wsdl 。
@Stateless
@WebService
@WebContext(contextRoot = "/EvisaWS", urlPattern = "/CargoJTService")
@SOAPBinding(style = SOAPBinding.Style.RPC)
public class CargoJTWSBean implements CargoJTWS { private static final Logger logger = Logger.getLogger(CargoJTWSBean.class);
@EJB
private CargoJTServiceLocal cargoJTServiceLocal; @WebMethod
@WebResult(partName = "return")
public VOCargoJTWS findPageInfo(Integer currentPage, Integer pageCount) {
try {
PageInfo pageInfo = cargoJTServiceLocal.findPageInfo1(currentPage, pageCount);
VOCargoJTWS cargoJTWS = new VOCargoJTWS(pageInfo);
return cargoJTWS;
} catch (Exception e) {
logger.error(e);
}
return null;
}
}
3、处理关联关系:
如果类与类直接存在关联关系,不需要查询出子表信息时,可以直接将其设置为null。如果需要,那么可通过集合的size方法加载,子类的关联关系和父类关联关系的处理方式一样。
如果出现循环调用,Parent--->Child--->Parent,可以在get属性上加 @XmlTransient 注释。
@Stateless
@Local(CargoJTServiceLocal.class)
@LocalBinding(jndiBinding = "CargoJTServiceBean/local")
@Remote(CargoJTServiceRemote.class)
@RemoteBinding(jndiBinding = "CargoJTServiceBean/remote")
public class CargoJTServiceBean implements CargoJTServiceLocal, CargoJTServiceRemote { private static final Logger logger = Logger.getLogger(CargoJTServiceBean.class);
@EJB
private CargoJTDaoLocal cargoJTDao; @SuppressWarnings("unchecked")
public PageInfo findPageInfo1(Integer currentPage, Integer pageCount ) throws ServiceException {
try {
PageInfo piInfo = cargoJTDao.findPageInfo(currentPage, pageCount);
List<TBLCargoJT> list = (List<TBLCargoJT>) piInfo.getList();
for(TBLCargoJT cargoJT : list){
cargoJT.getAssessType().getCode();
cargoJT.setGoods(null);
}
return piInfo;
} catch (DAOException e) {
logger.error(e);
throw new ServiceException("", e);
}
}
}
4、这是.net根据wsdl生成的类列表:

要生成 voCargoJTWS 这个对象也就是在c#中可以看到,那么这个对象里面必须有两个以上的属性,否则这个对象不会生成。
.net调用java webservice基于JBOSS服务器 学习笔记(一)的更多相关文章
- Java web与web gis学习笔记(二)——百度地图API调用
系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...
- Java程序猿的JavaScript学习笔记(3——this/call/apply)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Java程序猿的JavaScript学习笔记(10—— jQuery-在“类”层面扩展)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Java web与web gis学习笔记(一)——Tomcat环境搭建
系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...
- Java程序猿的JavaScript学习笔记(6——面向对象模拟)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Java程序猿的JavaScript学习笔记(5——prototype和Object内置方法)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- 图灵学院JAVA互联网架构师专题学习笔记
图灵学院JAVA互联网架构师专题学习笔记 下载链接:链接: https://pan.baidu.com/s/1xbxDzmnQudnYtMt5Ce1ONQ 密码: fbdj如果失效联系v:itit11 ...
- Java程序猿的JavaScript学习笔记(汇总文件夹)
最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...
- Java程序猿的JavaScript学习笔记(8——jQuery选择器)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
随机推荐
- ubuntu下如何查看用户登录及系统授权相关信息【转】
转自:http://www.tuicool.com/articles/ia67Bj 如何在ubuntu下查看相关用户登录历史,进行系统的日志跟踪和分析,以便发现系统登录问题,进行安全策略防护呢?ubu ...
- 利用ExtJS导出Excel
Ext.ns("Msp.Component"); //config = { // fileName : "净值及头寸核对", // exportDate : & ...
- YTU 2601: 熟悉题型——填空题(删除线性表节点)
2601: 熟悉题型--填空题(删除线性表节点) 时间限制: 1 Sec 内存限制: 128 MB 提交: 357 解决: 212 题目描述 给出一串具体长度的数据,删除指定数据. 已经给出部分代 ...
- string中常用的函数
string中常用的函数 发现在string在处理这符串是很好用,就找了一篇文章放在这里了.. 用 string来代替char * 数组,使用sort排序算法来排序,用unique 函数来去重1.De ...
- Less tips:声明变量之前可以引用变量!
Less中的variable可以在使用之后才被声明,这一特性对于希望覆盖前期声明的(比如bootstrap等第三方library的variable)变量,从而优雅地 使用你希望的效果提供了便利. 比如 ...
- 使用Aspose.Cells组件生成Excel文件
生成带表头的Excel文件,格式如下显示. 当然更复杂的一些也可以通过 合并单元格的方法 public void Merge(int firstRow, int firstColumn, int to ...
- C语言之字节对齐
在C语言编程中,有时为了达到减少运行的时间的目的,需要浪费一些空间:而有时为了节省空间,使它的运行时间增长.而字节对齐则是为了访问效率,用空间换取时间. 要掌握字节对齐,首先得明确一下四个概念: 1. ...
- 用 Xcode 开发 Cydia Substrate 插件(二)
上次介绍了一个如何用 Xcode 来构建 Substrate 插件,但是开发的具体过程还没有涉及,而这往往又正是初学者最难下手的地方,所以有了本文的后续. 不过在开始之前你要先做好思想准备,相比较开发 ...
- 【JavaScript学习笔记】调用google搜索
<html> <form method=get action="http://www.google.com/search"> <a href=&quo ...
- SkinPP for VC
1.下载文件:SkinPPWTL.h,SkinPPWTL.dll,SkinPPWTL.lib以及Skin++皮肤库: 2.新建一个工程,如:基于多文档的工程,名为:MySkin: 3.将下载的Skin ...