基于soap协议的webservice开发

1.利用cxf进行webservice开发,因此需要去官网下载cxf的jar包。

2.eclispe建立工程,引入jar包。

3.编写对外发布的接口:

4.编写实现类:

5.编写对外发布的类:

6.启动main方法之后,在浏览器地址输入:

http://localhost:9999/cxf_server?WSDL

得到如下图:

7.进入调试,先选择eclipse的launch the web service explorer

8.默认进入UDDI Main的页面

9.选择wsdl,进入wsdl页面

10.输入wsdl地址:http://localhost:9999/cxf_server?WSDL,得到:

11.点进sayHello方法

可以看到有两个之前定义的参数,arg0和arg1,点击add添加参数

12.得到结果:

13.点击source能看到请求和返回的原始内容

 

14.编写client端测试webservice:

15.soap理解:

soap:简单对象访问协议,是基于XML的简易协议。

一条soap必须包含以下元素:

Envelope:必须。把此XML文档标志位一条soap消息。

Header:可选。包含头部信息。

body:必须。包含所有的调用和响应信息。

Fault:可选。发生错误的信息。

 

16.利用TCP/IPMonitor监控消息

监控之前,需要先配置TCP/IPMonitor相关的信息。

在Eclipse中window--》preference

输入TCP:

点击add添加:

其中:Local monitoring port为本地服务走入的端口,此处为8888

host name为要监听的服务的地址,此处为:127.0.0.1

port为要监听的服务的端口:9999

type为TCP/IP。

配置完成之后,点击start。

这表示为:在本地开启了一个端口为8888的服务,用于监听地址为127.0.0.1的端口为9999的服务。有点类似代理的意思。那么以后所有的请求都走8888端口,就能抓取所有的请求报文。

17.修改客户端代码:

18.windows--》show view --》other,找打TCP/IP控制台

19、运行客户端,得到报文:

POST /cxf_server HTTP/1.1
Content-Type: text/xml; charset=UTF-8
Accept: */*
SOAPAction: ""
User-Agent: Apache-CXF/3.3.4
Cache-Control: no-cache
Pragma: no-cache
Host: localhost:8888
Connection: keep-alive
Content-Length: 203

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:sayHello xmlns:ns2="http://cxf.zz.com/"><arg0>鐜嬩簲</arg0><arg1>36</arg1></ns2:sayHello></soap:Body></soap:Envelope>

 

HTTP/1.1 200 OK
Date: Wed, 19 May 2021 12:14:17 GMT
Content-Type: text/xml;charset=utf-8
Content-Length: 213
Server: Jetty(9.4.21.v20190926)

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:sayHelloResponse xmlns:ns2="http://cxf.zz.com/"><return>cxf鐜嬩簲36</return></ns2:sayHelloResponse></soap:Body></soap:Envelope>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值