java中webservice生成/调用方式小结

一、通过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
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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值