从版本 1.0-RC2 升级到 1.0

从 RC2 以来没有发生重大更改。

从版本 1.0-RC1 升级到 1.0-RC2

在项目版本 1.0 发布候选版本 1 和 2 之间进行了一些小的最终更改。以下内容应帮助大多数用户更新其应用程序

客户端

一些问题已得到解决,这使得 WebServiceTemplate 在纯旧 XML 设置中更易于使用,并且不太特定于 SOAP。

  • 各种重载的sendAndReceive()方法已重命名以帮助理解。方法签名现在反映了发送的内容(例如,Source)和接收的内容(例如,Result)。
  • WebServiceMessageCallback方法doInMessage()已重命名为doWithMessage(),因为它命名不当。
  • FaultResolver已重命名为FaultMessageReceiver以更清晰地表明其责任。
  • SoapActionCallback已移动到org.springframework.ws.soap.client.core.

从版本 1.0-M3 升级到 1.0-RC1

在项目版本 1.0 里程碑 3 和发布候选版本 1 之间进行了一些小的更改。以下内容应帮助大多数用户更新其应用程序

附件

必须移动和更改附件支持以促进 MTOM。

  • 附件接口已从org.springframework.ws.soap移动到org.springframework.ws.mime.
  • id属性在Attachment>> 已重命名为 <<contentId.
  • 获取和添加附件的方法取自SoapMessage并提取到一个新的接口MimeMessage中。现在添加方法需要内容 ID。

WebServiceTemplate

WebServiceTemplate不再为每个方法声明 IOException。相反,在org.springframework.ws.client.

中创建了一个运行时异常层次结构

HttpUrlConnectionMessageSenderCommonsHttpMessageSender已丢失其url属性。URL(或更确切地说:URI)现在定义在WebServiceTemplate上,方法是指定默认 URI 或将 URI 作为参数提供。

EndpointInterceptor

EndpointInterceptor现在有一个handleFault方法,该方法在handleResponse时被调用(而不是WebServiceMessage.hasFault()对于响应为 true 时)。

SoapMessageDispatcher

  • SoapMessageDispatcher 的所有策略接口(SoapEndpointInterceptor, SoapEndpointMapping)已从org.springframework.ws.soap移动到org.springframework.ws.soap.server.

从版本 1.0-M2 升级到 1.0-M3

在项目版本 1.0 里程碑 2 和里程碑 3 之间进行了一些更改。这些更改提高了代码的模块化,增强了单元测试,使包角色更清晰,并为适配器和使用 web.xml 安全约束保护 HTTP 资源提供了引人注目的替代方案。

不幸的是,需要更改 API 和包位置。以下内容应帮助大多数用户更新其应用程序

MessageContextFactory

MessageContextFactory 已重构为 WebServiceMessageFactory,不再创建 MessageContext,而是创建 WebServiceMessage。此更改主要是内部的,但您需要更改工厂的名称

  • 如果您使用AxiomSoapMessageContextFactory之前,请将其替换为AxiomSoapMessageFactory.
  • 如果您使用SaajSoapMessageContextFactory之前,请替换为SaajSoapMessageFactory.

MessageDispatcher

为了在服务器端和客户端代码之间进行清晰的区分,我们必须移动各种服务器端类。

  • MessageDispatcher已移动到org.springframework.ws.server包中。
  • SoapMessageDispatcher已移动到org.springframework.ws.soap.server包中。
  • MessageDispatcher 的所有策略接口(EndpointAdapter, EndpointInterceptor, EndpointMapping, EndpointExceptionResolver)已从org.springframework.ws移动到org.springframework.ws.server.

端点

  • 所有端点实现和适配器在org.springframework.ws.endpoint已移动到org.springframework.ws.server.endpoint.
  • TransformerObjectSupport已移至 Spring-XML 模块。

端点拦截器

  • 所有EndpointInterceptororg.springframework.ws.endpoint.interceptor已移动到org.springframework.ws.server.endpoint.interceptor.
  • 所有EndpointInterceptororg.springframework.ws.soap.endpoint.interceptor已移动到org.springframework.ws.soap.server.endpoint.interceptor.
  • PayloadValidatingInterceptor已移动到org.springframework.ws.soap.server.endpoint.interceptor也是如此。

端点映射

  • 所有EndpointMappingorg.springframework.ws.endpoint.mapping已移动到org.springframework.ws.server.endpoint.mapping.
  • 所有EndpointInterceptororg.springframework.ws.soap.endpoint.mapping已移动到org.springframework.ws.soap.server.endpoint.mapping.

端点异常解析器

  • 所有EndpointExceptionResolverorg.springframework.ws.soap.endpoint已移动到org.springframework.ws.soap.server.endpoint.

TransportContext

  • TransportContextTransportContextHolder已移动到org.springframework.ws.transport.context包中。

MessageEndpointAdapter

  • MessageEndpointAdapter已重命名为WebServiceMessageReceiverHandlerAdapter,但仍然驻留在同一个包中(org.springframework.ws.transport.http).

SoapMessageContext

  • SoapMessageContext已删除。该MessageContext提供相同的功能,尽管可能需要强制转换。