java中webservice生成/调用方式小结
来源:互联网 发布:跳跃网络300英雄 编辑:程序博客网 时间:2024/05/17 23:41
一、通过axis2方式发布
1、用POJO形式发布(无需配置)
(1)将axis2.war防置tomcat的webapps中,启动服务器
(2)将没有package包(pojo类不能放置在任何包中)的class文件放置到放置在C:\apache-tomcat-8.5.20\webapps\axis2\WEB-INF\pojo
(3)重新启动tomcat
(4)打开http://localhost:8080/axis2/services/Hello?wsdl或http://localhost:8080/axis2/services/listServices即可打开查看。
2、通过配置services.xml然后打包成aar文件进行发布
(1)创建需要提供服务的类class文件
(2)编写services.xml文件
(3)根据class文件的package路径配置如下
D:\ws\ com\sinosoft\webservice\HelloServiceNew.class
D:\ws\META-INF\services.xml
(4)然后在ws目录下进行打包操作,jar cvf ws.aar .
(5)将生成好的aar文件放在 <Tomcat安装目录>\webapps\axis2\WEB-INF\services目录中,完成。
其中配置文件格式如图
没有返回值时:<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
有返回值时: <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
3、通过导入axis2相关包,在自定义web工程中发布webservice
(1)准备好相关服务类
(2)配置web.xml文件,加入axis2的servlet配置:
<!--Axis2 config start-->
<servlet>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
(3)将原始axis2的工程下的modules、service、lib和conf文件夹拷至自定义工程下的WEB-INF目录下
(4)然后在services下新建{servicename}(自定义也可以)/META-INF路径,META-INF下新建services.xml:
(5)启动服务,访问http://127.0.0.1:8080/webServe/services/{services.xml中parameter的name}?wsdl即可
4、通过javax.jws.*相关包的注解方式发布webservice服务
(1)在没有axis2jar包的普通java工程或web工程下(可以使用监听器或者Servlet来发布WebService),新建普通类
(2)javax.jws.WebService.@WebService注解类,提供服务的方法不能为static、final
(3)如图方法,发布后访问,即可http://localhost:9001/hello?wsdl
(4)暂时不提供入参,待完善
二、通过Apache CSXF方式发布
1、main方式
2、基于Spring发布到容器
3、不基于Spring发布到容器
三、客户端的编写与调用
1、Java通过RPC远程调用方式访问WebService的服务端
2、应用document方式调用
3、用wsdl2java简化客户端的编写
(1)在axis2官网下载axis2-x.x.x-bin.zip,找到bin里面就可以找到wsdl2java.bat
(2)通过cmd到bin目录下运行命令
wsdl2java -uri http://localhost:8080/axis2/services/SimpleService?wsdl -p com.peide.webservice.axis2 -s -o stub
-uri 后面运行的是 需要访问的wsdl, -p 是文件生成的包名 -o stub生成的文件目录,是bin目录下面的
(3)将bin下面的文件复制到-p的包下
(4)通过如图方式进行调用
4、用wsimport生成客户端代码
(1)确认C:\Program Files\Java\jdk1.8.0_144\bin下的wsimport.exe
(2)执行wsimport -keep http://localhost:9001/hello?wsdl,完成无错,刷新str目录
(3)关注Hello.java和HelloService.java
(4)如图,直接调用(调用很简单)
PS.部分内容不完善,待补充。
阅读全文
0 0
- java中webservice生成/调用方式小结
- Java 调用C# webservice接口 生成java客户端 实现方式
- java WebService调用方式
- Android中调用webservice小结
- Android中调用webservice小结
- java生成和调用webservice
- JAVA项目中发布WebService服务——调用方式
- Java中调用WebService
- jQuery中调用WebService方法小结
- jQuery中调用WebService方法小结
- java开发webservice几种方式小结
- java开发webservice几种方式小结
- SAP&Java WebService(三) ----JAVA调用SAP生成的WebService
- Java中如何调用WebService
- C++调用Java WebService生成客户端文件
- java cxf webservice 生成客户端 调用 服务端
- java生成webservice客户端及服务调用
- java 调用 C# WebService axis2 命令行方式
- 加小圆点
- ViewPager+Fragment
- 一个框架解决几乎所有机器学习问题
- linux 下shell中if的“-e,-d,-f”是什么意思
- Android 机型适配问题整理
- java中webservice生成/调用方式小结
- 在MySQL命令行窗口执行sql脚本,批量执行SQL语句,批量更新数据
- 普元EOS之我要使用多数据源
- mqtt入门
- 阿里云推送
- python打开文件报错OSError: [Errno 22] Invalid argument:
- 2017.10.25 书柜的尺寸 失败总结
- js 遇到的一些属性及方法
- Mysql事务以及四种隔离级别实例