从版本 1.0-RC2 升级到 1.0
自 RC2 以来没有发生重大变更。
从版本 1.0-RC1 升级到 1.0-RC2
在项目 1.0 Release Candidate 1 和 2 版本之间进行了一些最后的微小更改。以下内容应有助于大多数用户更新他们的应用程序
客户端
已解决一些问题,使得 WebServiceTemplate 在 Plain Old XML 设置中更易于使用,且不那么 SOAP 特定。
- 各种重载的sendAndReceive()方法已重命名以方便理解。方法签名现在反映了发送的内容(例如,Source),以及接收的内容(例如,Result)。
- 该WebServiceMessageCallbackmethoddoInMessage()已重命名为doWithMessage(),因为它命名不当。
- 该FaultResolver已重命名为FaultMessageReceiver以更清晰地表明其职责。
- 该SoapActionCallback已移至org.springframework.ws.soap.client.core.
从版本 1.0-M3 升级到 1.0-RC1
在项目 1.0 Milestone 3 和 Release Candidate 1 版本之间进行了一些微小的更改。以下内容应有助于大多数用户更新他们的应用程序
附件
附件支持已被移动和更改,以支持 MTOM。
- 该Attachment接口已从org.springframework.ws.soap到org.springframework.ws.mime.
- 该id属性在Attachment>> 被重命名为 <<contentId.
- 获取和添加附件的方法已从SoapMessage中提取到一个新的接口MimeMessage中。现在添加附件需要一个 content id。
WebServiceTemplate
该WebServiceTemplate不再为每个方法声明 IOException。相反,在org.springframework.ws.client.
中创建了一个运行时异常层次结构。HttpUrlConnectionMessageSender 和 CommonsHttpMessageSender
该HttpUrlConnectionMessageSender和CommonsHttpMessageSender已失去其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 Milestone 2 和 Milestone 3 之间进行了几项更改。这些更改增加了代码的模块化,增强了单元测试,使包的角色更清晰,并为适配器和使用 web.xml 安全约束保护 HTTP 资源提供了有吸引力的替代方案。
不幸的是,API 和包位置的更改是必需的。以下内容应有助于大多数用户更新他们的应用程序
MessageContextFactory
MessageContextFactory 已重构为 WebServiceMessageFactory,并且不再创建 MessageContext,而是创建 WebServiceMessages。此更改主要是内部的,但您需要更改工厂的名称
- 如果您之前使用了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.
Endpoints
- org.springframework.ws.endpoint 中的所有端点实现和适配器org.springframework.ws.endpoint已移至org.springframework.ws.server.endpoint.
- TransformerObjectSupport已移至 Spring-XML 模块。
Endpoint interceptors
- 所有EndpointInterceptor在org.springframework.ws.endpoint.interceptor已移至org.springframework.ws.server.endpoint.interceptor.
- 所有EndpointInterceptor在org.springframework.ws.soap.endpoint.interceptor已移至org.springframework.ws.soap.server.endpoint.interceptor.
- 该PayloadValidatingInterceptor已移至org.springframework.ws.soap.server.endpoint.interceptor也一样。
Endpoint mappings
- 所有EndpointMapping在org.springframework.ws.endpoint.mapping已移至org.springframework.ws.server.endpoint.mapping.
- 所有EndpointInterceptor在org.springframework.ws.soap.endpoint.mapping已移至org.springframework.ws.soap.server.endpoint.mapping.
Endpoint exception resolvers
- 所有EndpointExceptionResolver在org.springframework.ws.soap.endpoint已移至org.springframework.ws.soap.server.endpoint.
TransportContext
- TransportContext和TransportContextHolder已移至org.springframework.ws.transport.context包。
MessageEndpointAdapter
- 该MessageEndpointAdapter已重命名为WebServiceMessageReceiverHandlerAdapter,但仍保留在同一包中(org.springframework.ws.transport.http).
SoapMessageContext
- 该SoapMessageContext已被移除。虽然MessageContext提供了相同的功能,但可能需要进行类型转换。