webservice端接收的函_第1页
webservice端接收的函_第2页
webservice端接收的函_第3页
webservice端接收的函_第4页
webservice端接收的函_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 / 16 webservice 端接收的函 webservice 当服务端 当服务端发布成 wsdl 协议可以用 xfire, 也可以用 axiswebservice 开发要安装环境的,可以在网上看看,很简单。 这里以 xfire为例 第一步:直接用创建 web service project 我的 demo名称为 xfirebegin,在此项目下会比平常的项目多一个 webservices 文件夹 , 里面有个文件,用来配置接口,实现类和 wsdl 名称、wsdl 的命名空间中会自动配置好 xfire 的 支持 servlet 第二步:和平常一样建包、建接口、方法、实现这个接口。以下是我的 demo 接口名 :xfireservice 方法 :string xfiremethod 实现类名 :xfireserviceimpl 方法 :public string xfiremethod string temp=name+,欢迎学习 webservice 的 xfire之旅 ; return temp; public void method; 在此 实现中多加了一个方法,主要是用来测试webservice没有发布的方法是没办法被调 用到的,就算实现发布的接口也没用。到此和我们平常创建项目没什么区别,没有一点 2 / 16 webservice 的影子,主要是在创建 web service project的时候,工程自动帮我们把框架搭 建起来了。 第三步:开始在中配置接口,实现类和wsdl名称、 wsdl的命名空间。 直 接看我的 demo配置 xfirefirst 到这里如果配置没错, webservice 的服务端基本上完成,接下来就是把项目编译成 class 文件启动 访问就可以看到 wsdl 协议了。 中不用我说都知道是什么 ,services 是文件中 配置好的名称,一般就用默认的,无须改动 ,xfirefirst 就是在中配置的 wsdl 名称。 ?wsdl就表示访问 wsdl协议 ,无需深入研究 不出问题看到的是一个以 xml文件形式出现的页面, 要能读懂 xml文件才能看的懂此文件的结构 ,但是我们当服务端的话,看不看得懂这个文件关 系倒不是特别大 ,只要能把我们做的 java接口发布成 wsdl协议就 ok 啦。 webservice 当客户端的时候当我们为客户端的时候就是反向操作,将服务端生成的 wsdl 文件转换成 java文件,不 过通过 xfire 生成的服务端可以不通过 wsdl 文件转3 / 16 成 java也可以实现一些简单的调用,但 是安全性不高 ,也不是那么好理解,不过很简单不通过 wsdl 文件转成 java 代码看看我的 demo 在原项目上随便建个 包,写个 main方法测试下就行,上项目的时候就得依各人情况而定,是在 action里面还是 servlet 里面自己看着办。 public static void main string serviceurl = ;service servicemodel=new ;xfireproxyfactory servicefactory = new xfireproxyfactory; try xfireservice xs= ; / 设置心跳 client client=;string hello=; ;hello=; catch ; 非常不好理解,程序越简单,省略的逻辑就越多。serviceurl其实就是间接用到了 wsdl 协议,只是换了种写法 ,servicemodel 是主干, 四个参数,一般用到的就是接口和 wsdl所在命名空间 ,心跳设置是怕网络太慢产生异常 ,这种方法不建议使用。 4 / 16 看看稍微复杂点但是很实用的方式 ,通过 wsdl 生成 java 代码 通过 wsdl 生成 java 代码使用了 axis 的思想,可以在原项目上新建一个包出来,但是这 样的话项目就要在 加了支持 xfire 的 jar 包外还要加入支持 axis的 jar包,非常大,所以建 议重新建一个项目,反正是客户端和服务端刚好分开来操作显得清晰明了得多,并且,客户 端不需要创建 web service project,随便哪种 java工程都行,只要把 jar包导进去就行 axis的 jar 包有 9个。不列出来了 ,要 的话可以自己去下载奔主题 jar包准备好后我创建的是 web project,然后把包导入进去。在项目上单击右键 run asrun configurations . 在 java application 上单击右键 new project 那里选择自己的项目, main class那里如果装了 webservice开发环境的话在 search那里可以找到 wsdl2java - 选项,选择它后再单击上图 第二个选项卡 arguments,在 program arguments 里面输入 -s -u 和服务端生成的 wsdl 的访 问路径 ,上面服务端生成的 wsdl文件访问路径为 ; ,那这里输入的就是 -s -u ; 这里大小写 5 / 16 和空格有严格要求,不能随便来。这里的 -s -u 是webservice的命令,命令有很多,要自己 去记,不扯远了。再选择 run 跑起来,配置没错的话,在项目上刷新就可以多一个包出来,把那个包移到 src下面去看看客户端主要是配置,基本上是不用写什么 code 的,不过到了实际项目上时要从客户端调 用服务端的接口方法,还是要写 code。在这里我写了个 test测试下,在 main方法中就两句 code:xfirefirstlocator xf=new xfirefirstlocator; try catch / todo auto-generated catch ; catch / todo auto-generated catch ; 用 xfire是 cxf的领域 ,比较简单的方式,适合懒人,如果想体会下 code 的逻辑过程可 以用 axis 来生成服务端,生成客户端的操作是一样的 ,不需要再讲解了,下面讲讲自己用过 的 axis生成服务 端 : 和 xfire 生成服务端不同, axis 生成客户端不一定6 / 16 非要创建 web service project,可 以随便创建 java工程 . 在这个 demo 中加入了串行,主要是想知道webservice支不支持串行。 创建 web project加入 axis的支持 jar包 创建接口 实现接口 在 web-inf下创建文件 ,此文件的内容任何人都可以直接拿去用需要改动的地方 都注释好了: use=literal 1. cxf 方式 使用 cxf+spring 搭建 webservice:第一步,添加jar包。此处需要注意,不同环境 jar也不一定相同,例 如我本地 cxf+spring 只需要如下 jar 包: 而泰康的 was环境则需要如下 jar包:明显的多了很多,原因应该是服务器 jar包池的不同。根据错误提示缺什么补什么就可 以了,注意 jar包勿重复。 第二步,配置文件,如下: contextconfiglocation classpath:/ listener-class 7 / 16 encodingfilter encoding utf-8 ter encodingfilter /* cxfservlet ss 1 cxfservlet /webservice/* 上述标记的地方,第一处是 spring配置文件路径;第二出是 wsdl地址内容; 第三步,编写接口类与实现类,注意注解 接口类 webservice public interface sendservice public boolean sendoastring param); public boolean sendorg;实现类 public class sendserviceimpl implements sendservicepublic boolean sendoa public boolean sendorg ; return true; 8 / 16 ; if) return false; return true; 第四步,spring 配置文件“ jaxws:client”该标签可以不必写,访问时可以手动拼接该 url 第五步,发布,直接部署到服务器,访问: 2. xfire 方式 据说 xfire 方式已经很老了,但个人感觉, xfire 方式很简单且容易配置,不知为啥过 时了,也没感觉 cxf、 axis2 哪里先进, 我当时卡在cxf与 was 搞不定时想尝试 xfire 方式被 周经理给拒绝了。 xfire 方式发布 webservice:第一步,添加 jar包,如下: 第二步,修改文件 第三步,编写接口类篇三:webservice 服务端的开发和客户端调用 webservice 服务端的开发和客户端调用 1 初始 化 . . 2 准备一个 web项 9 / 16 目 . . 2 设置 axis2 环 境 . . 2 接口的发 布 . . 3 建立 webservice 项 目 . . 3 webservice 配 置 . 10 / 16 . 3 确认要发布 的接口的类,选择二级模式创建 . 3 选择运行 apache axis2 运行环 境 . 4 WebService 四种发布方式总结 Author:yczhang 1. CXF方式 CXF 与 spring 搭建 webservice 是目前最流行的方式,但是传闻 cxf 与有些不兼容,我没有遇到过,我遇 到的问题是 cxf与不兼容,表现在 cxf 必须的 jar包“”报错,报的错为:,明显的 jar 包不兼容问题,很是头痛,后来查找资料找到解决办法是,将上述 jar包新建一个 was共享库,可以解决,但是客户周经理不想用此种方式,因为需要修改was,于是改用了 axis2 方式,下文会介绍。该问题在此处做个记录,以后使用 cxf 与 was的时候需要注意! 使用 cxf+spring 搭建 WebService: 第一步,添加 jar 包。此处需要注意,不同环境 jar也不一定相同,例如我本地 cxf+spring 只需 要如下 jar包: 而泰康的 was环境则需要如下 jar包: 11 / 16 明显的多了很多,原因应该是服务器 jar 包池的不同。根据错误提示缺什么补什么就可以了,注意 jar 包勿重复。 第二步,配置文件,如下: contextConfigLocation classpath:/ encodingFilter encoding UTF-8 LoaderListener ter encodingFilter /* CXFServlet 1 CXFServlet /webservice/* 上述标记的地方,第一处是 spring配置文件路径;第二出是 wsdl地址内容; 第三步,编写接口类与实现类,注意注解 接口类 WebService publicinterface SendService publicboolean sendOAString param); publicboolean sendOrg; 实现类 12 / 16 WebService publicclass SendServiceImpl implements SendService publicboolean sendOA publicboolean sendOrg ; returntrue; ; if) returnfalse; returntrue; 第四步 , Spring配置文件 “ jaxws:client”该标签可以不必写,访问时可以手动拼接该 url 第五步,发布,直接部署到服务器,访问: 2. Xfire 方式 据说 xfire 方式已经很老了,但个人感觉, xfire 方式很简单且容易配置,不知为啥过时了,也没感觉 cxf、 axis2哪里先进,我当时卡在 cxf与 was 搞不定时想尝试 xfire 方式被周经理给拒绝了。 Xfire 方式发布 webservice: 第一步,添加 jar 包,如下: 第二步,修改文件 第三步,编写接口类 OA端 WebService/HTTP 接口实现指南 文档编号: 13 / 16 OA端 WebService/HTTP 接口实现指南 当前版本号 : 作 者:于翼翔 完成日期: XX-07-22 修改记录: 评审记录: 1 术语 MAE: PxForm: PxFormEx: Axis: MT: MO: Mobile Application Engine 移动应用引擎 由无限立通公司开发的企业 OA/CRM/ERP系统与移动终端间 的数据桥梁 无限立通终端展示规范,适合于移动终端展示的,针对离线特性设计的页面描述语言 无限立通终端展示模板,用来生成 PxForm,与企业提供的数据合成为 PxForm再推送到终端展示 一种开放源代码的 Java Webservice 实现 Mobile Terminated 终端作为目标的,也就是企业主动给终端推送信息 Mobile Oriented 终端发起的,也就是终端发送审批结果给企业 2 背景知识介绍 无限立通移动 OA 系统提供企业 OA 系统与移动 终端间信息交互的安全通道,针对企业技术现状的不同提供不同的技术实现方案。 14 / 16 针对有开发实力的企业,无限立通开放底层的WebService/HTTP 接口,企业直接调用接口,即可以将信息Push 到移动终端上,终端也可以将信息安全的提交回 OA 系统。 WebService/HTTP 方式各有优缺点,请企业根据业务特征及开发情况选择。 关于 PxForm、模板文件、控件的说明: PxForm: 终端显示给用户看的 Form。类似 HTML页面,针对离线方式特征进行 了一次性打包所有图片、附件的扩充。 PxFormEx: 用来生成 PxForm 的模板文件。由于 OA生成的数据不确定性,因此无法使用静态的 PxForm 直接显 示动态的 OA数据,需要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论