从版本 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.
中创建了一个运行时异常层次结构
该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 里程碑 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 模块。
端点拦截器
- 所有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也是如此。
端点映射
- 所有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.
端点异常解析器
- 所有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提供相同的功能,尽管可能需要强制转换。