我有一个用SOAP1.1开发的web服务。在我使用此web服务的客户中,有人要求使用SOAP1.2。我考虑过进行所需的更改,但在本例中,我将中断其他仍然使用SOAP1.1的客户的工作。我的问题是:是否可以在同一个应用程序中共存SOAP1.1和SOAP1.2,还是必须部署两个应用程序。
发布于 2014-04-18 14:43:55
经过一些研究,我发现在同一个应用程序中部署SOAP1.1和SOAP1.2是可能的。实际上,使用jax实现只需正确配置sun-jaxws.xml文件和端点类。
<endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"
version="2.0">
<endpoint name="Service11" implementation="mypackage.Service11Impl"
url-pattern="/Service/11" enable-mtom="true" wsdl="/wsdl/service.wsdl" />
<endpoint name="Service12" implementation="mypackage.Service12Impl"
url-pattern="/Service/12"
binding="http://java.sun.com/xml/ns/jaxws/2003/05/soap/bindings/HTTP/"
enable-mtom="true" wsdl="/wsdl/service.wsdl" />
@BindingType(value = javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_MTOM_BINDING)
@WebService(...)
public class Service11Impl extends ParentService {
}
@BindingType(value = javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_MTOM_BINDING)
@WebService(...)
public class Service112mpl extends ParentService {
}https://stackoverflow.com/questions/23103810
复制相似问题