我有一个JAX-WS @WebServiceProvider
,并且希望同时支持SOAP 1.1和1.2协议。我手动处理正确版本的响应SOAPMessage
的创建。我有WSDL描述1.1和1.2协议的绑定。
但是服务端点一次只能支持这两个版本。
我很欣赏解决方案或指向某个文档的指针,并指出它是不可能的。
P.S。我正在使用与JAX-WS 2.0(基于Axis2)捆绑在一起的WebSphere 7应用服务器
答案 0 :(得分:1)
我遇到了同样的问题。对我来说,主要问题是无法使用@BindingType(value = SOAPBinding.SOAP12HTTP_BINDING)
和@BindingType(value = SOAPBinding.SOAP11HTTP_BINDING)
编译该类。看看这个http://www-01.ibm.com/support/docview.wss?uid=swg1PK96819和http://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日志中报告的任何错误消息,然后我可能会给出一个更好的答案。