通过相同的JAX-WS服务支持SOAP 1.1和1.2

时间:2012-11-27 18:37:52

标签: web-services soap websphere jax-ws

我有一个JAX-WS @WebServiceProvider,并且希望同时支持SOAP 1.1和1.2协议。我手动处理正确版本的响应SOAPMessage的创建。我有WSDL描述1.1和1.2协议的绑定。 但是服务端点一次只能支持这两个版本。

我很欣赏解决方案或指向某个文档的指针,并指出它是不可能的。

P.S。我正在使用与JAX-WS 2.0(基于Axis2)捆绑在一起的WebSphere 7应用服务器

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。对我来说,主要问题是无法使用@BindingType(value = SOAPBinding.SOAP12HTTP_BINDING)@BindingType(value = SOAPBinding.SOAP11HTTP_BINDING)编译该类。看看这个http://www-01.ibm.com/support/docview.wss?uid=swg1PK96819http://www-01.ibm.com/support/docview.wss?uid=swg1PK83482,应该可以设置@BindingType(SOAPBinding.SOAP_HTTP_BINDING)以便同时提供这两个SOAP版本。不幸的是,我没有使用Websphere运行时环境编译,我不明白。

答案 1 :(得分:0)

我最近处理了与尝试同时为服务启用SOAP 1.1和1.2相关的服务部署问题(在WebSphere v7.0上)。不幸的是,我不认为您的问题提供了足够的信息来提供具体的解决方案。

可以同时支持两种绑定,但有一些注意事项。我认为主要的是服务器必须能够为每个绑定监听单独的端点(URL)。尽管我可以说,这需要您的web.xml和/或webservices.xml配置文件中的相应条目。

对于基于注释的服务,这些配置条目在理论上是可选的;但是当你尝试为没有"可选"的给定服务启用多个绑定时配置条目,WAS Axis2扩展失败,有各种可能的例外。

如果您可以提供有关wsdl的更多详细信息,以及web.xml和webservices.xml的相关部分(如果有),以及在部署和应用程序启动期间在WAS日志中报告的任何错误消息,然后我可能会给出一个更好的答案。