JAXWS

WebService高级,可靠消息

喜欢而已 提交于 2019-12-04 17:18:56
在互联网世界中,由于软件,网络,机器等各种无稳定因素,一个SOAP消息可能会发生传输失败。如果这是一个天气预报的消息,那么失败还不会造成太大影响,但如果消息是有关银行操作,比如转账,消息的传输不可靠就可能会导致用户的损失。 因为上述原因,WS-ReliableMessaging和OASIS标准,规定了一个模块化机制,确保消息传输的可靠性。 消息在源与目的地之间,消息一定有且仅有一次传递成功。也可以规定消息最少传递一次。 消息可以存在顺序性。 消息的时效性。 接下来,我将使用Metro框架来实现可靠消息。 Metro的安装 首先,若想使用Metro引擎,就必须先安装Metro。Metro的安装步骤可以从 https://metro.java.net/guide/ch02.html#mustanga3 找到。 开启可靠消息 开启可靠消息的方法很简单,基于之前开发webservice的步骤,开启可靠消息只需要修改server端。开启方法有两种: 使用WSIT配置文件,声明policy 直接在WSDL中声明policy policy如下: <definitions ....> <wsp:Policy wsu:Id="NewWebServicePortBindingPolicy" xmlns:wsrmp="http://docs.oasis-open.org/ws-rx/wsrmp

JAX-WS传递自定义的Java类型

大兔子大兔子 提交于 2019-11-29 20:36:25
在之前的文章中,有实现一个图书馆的WebService。可以在这篇文章中 http://my.oschina.net/xpbug/blog/224912 找到。 然而,之前的图书馆系统接口所接收的参数和返回的类型,都非常简单,只是int和String两种类型。如果我想让接口接收和返回自定义的复杂类型,该如何做?这篇文章将展示如何将之前的图书馆系统改造为更复杂的实现。 图书馆服务接口 首先定义图书馆提供了哪些服务,让我用接口表示: @WebService(name="Library", targetNamespace="http://library.mycompany.com") public interface Library { @WebResult(name="result",targetNamespace="http://library.mycompany.com") public Book addBook(@WebParam(name="book", targetNamespace="http://library.mycompany.com")Book book); @WebResult(name="result",targetNamespace="http://library.mycompany.com") public Book getBook(@WebParam

jaxws-webservice编程(第一个记录)

↘锁芯ラ 提交于 2019-11-28 11:38:50
随着近几年来,SOA,EAI等架构体系的日渐成熟,Webservice越来越炽手可热,尤其是在企业做异质平台整合时成为了首选的技术。 Java的Webservice技术更是层出不穷,比较流行的有:Axis2,Spring WS以及Jaxws。 本人在日常工作和以往工程中,在使用了上述这些Webservice后进行了总结,比较,最终觉得jaxws是目前最标准,需要额外第三方插件最少,配置最少最灵活的webservice。 JAXWS适合几乎所有Webservice客户端的调用,因此不少巨头型的厂商如:IBM,Weblogic等,在他们的产品上都使用了以JAXWS为标准的Webservice接口。 本教程分成五天,为初级教程。 通过本教程,可以使一个没有Webservice概念或者没有写过Webservice的JAVA Resource快速上手入门,并能满足一般中小型项目中Webservice的应用。 对于Webservice Security,在(初级)教程中并不提供,会在高级教程中详细描述。 不过真正利用Webservice Security特性即XML加密技术的工程并不多,少之又少,大多还是以http: //xxx/xxxService?userId=&password=这样的形式来进行“假安全”通讯的。 必经我们的大部分项目是运行在Intranet里的,而且有很好的监控和布防。