加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

WebService高级,可靠消息

发布时间:2020-12-16 23:38:09 所属栏目:安全 来源:网络整理
导读:在互联网世界中,由于软件,网络,机器等各种无稳定因素,一个SOAP消息可能会发生传输失败。如果这是一个天气预报的消息,那么失败还不会造成太大影响,但如果消息是有关银行操作,比如转账,消息的传输不可靠就可能会导致用户的损失。 因为上述原因,WS-Rel

在互联网世界中,由于软件,网络,机器等各种无稳定因素,一个SOAP消息可能会发生传输失败。如果这是一个天气预报的消息,那么失败还不会造成太大影响,但如果消息是有关银行操作,比如转账,消息的传输不可靠就可能会导致用户的损失。

因为上述原因,WS-ReliableMessaging和OASIS标准,规定了一个模块化机制,确保消息传输的可靠性。

  1. 消息在源与目的地之间,消息一定有且仅有一次传递成功。也可以规定消息最少传递一次。

  2. 消息可以存在顺序性。

  3. 消息的时效性。

接下来,我将使用Metro框架来实现可靠消息。

Metro的安装

首先,若想使用Metro引擎,就必须先安装Metro。Metro的安装步骤可以从https://metro.java.net/guide/ch02.html#mustanga3?找到。

开启可靠消息

开启可靠消息的方法很简单,基于之前开发webservice的步骤,开启可靠消息只需要修改server端。开启方法有两种:

  1. 使用WSIT配置文件,声明policy

  2. 直接在WSDL中声明policy

policy如下:

<definitions?....>
??<wsp:Policy?wsu:Id="NewWebServicePortBindingPolicy"?xmlns:wsrmp="http://docs.oasis-open.org/ws-rx/wsrmp/200702"?xmlns:net35rmp="http://schemas.microsoft.com/ws-rx/wsrmp/200702">
????<wsrmp:RMAssertion>
??????<wsp:Policy>
????????<wsrmp:DeliveryAssurance>
??????????<wsp:Policy>
????????????<wsrmp:ExactlyOnce/>
????????????<wsrmp:InOrder/>
??????????</wsp:Policy>
????????</wsrmp:DeliveryAssurance>
??????</wsp:Policy>
????</wsrmp:RMAssertion>
????<net35rmp:InactivityTimeout?Milliseconds="700000"/>
????<wsam:Addressing/>
??</wsp:Policy>

上面表明使用可靠消息,消息仅能也必须传输成功一次。消息必须按照顺序。活跃时间为700000.

SEI开发,sun-jaxws.xml编辑,打包部署,均与以往相同。

使用NetBeans IDE快速开发WebService

在之前这么多篇webservice开发文章中,都没有用到NetBeans,主要是为了能摆脱傻瓜式开发,增强对JAX-WS的理解。随着接触Metro的高级功能,裸写webservice是一件复杂的事情了。这时候,可以使用NetBeans加快开发。

在NetBeans中,开发metro webservice是一件非常简单的事情。

创建JavaWeb项目

服务器端的webservice都是由war所提供,所以首先需要创建一个web项目。

创建webservice

右键点击项目,选择new,再选择web service. 此操作会创建一个web service和SEI。

当创建完web service以后,会在项目的web services目录下面看到新创建的web service。

右键点击创建好的web service,选择Edit Web Service Attributes。

在弹出的dialog中,选择web service的功能:

可以点击Advanced来声明更多属性。

点击保存以后,会生成WSIT配置文件。

最后开发完SEI,便可以打包部署了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读