dma*_*a_k 11 java soap web-services jax-ws
我正在寻找javax.xml.soap除Sun SAAJ之外的替代SOAP()实现.原因是因为我想在IBM JDK 5驱动的Tomcat AS上部署JAX-WS WebService,但是已知问题是Sun SAAJ实现依赖于重新分配的Xerces类(请参阅Ref Impl不能与IBM JDK和SAAJ测试一起使用)案例不再适用于IBM的SDK),唯一的出路就是使用自定义Maven配置文件来实现com.sun.xml.parsers:jaxp-ri:
<profiles>
<profile>
<id>pre-jdk5-profile</id>
<activation>
<jdk>(,1.4]</jdk>
</activation>
<dependencies>
<dependency>
<groupId>com.sun.xml.parsers</groupId>
<artifactId>jaxp-ri</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
</profile>
</profiles>
Run Code Online (Sandbox Code Playgroud)
我想删除此配置文件,只需将SOAP实现替换为适用于任何地方的实现.
我认为供应商SOAP实现可能附带Apache Axis/Apache CXF(基于IBM SOAP4J)或JBoss AS - 请根据我的偏好提供信息:
参考文献:
浏览后我得到了以下潜在的问题解决方案.我已经探讨了javax.xml.soap.MessageFactory使用grepcode.com的后代是什么.
除了标准com.sun.xml.messaging.saaj.soap.MessageFactoryImpl,我发现(假设):
org.apache.axis2.saaj.MessageFactoryImpl在org.apache.axis2:axis2-saaj:1.6.1.这个JAR正确地宣布工厂通过META-INF\services\javax.xml.soap.MessageFactory,META-INF\services\javax.xml.soap.MetaFactory因此不需要其他调整.这个版本(根据Maven Central)于2011年发布,推荐几个依赖项.org.jboss.ws.core.soap.MessageFactoryImpl在org.jboss.ws.native:jbossws-native-core:3.2.1.Beta2从JBoss的3.x的 看起来相当古老,也许JBoss不再支持它的开发,因为我能够在maven central(这里)之外找到这个jar .很多依赖项,1.8M大小,不推荐.org.apache.openejb.server.webservices.saaj.MessageFactoryImplin in org.apache.openejb:openejb-webservices:4.0.0-beta-2和org.apache.geronimo.webservices.saaj.GeronimoMessageFactoryin org.apache.geronimo.modules:geronimo-webservices:3.0-M1.实际上,这些工厂中的任何一个都是Axis2或Sun实现的包装器/ runtime_locator(请参阅SaajFactoryFinder和SAAJFactoryFinder).不予考虑.底线:唯一可接受的替代方案是Axis2实施.
| 归档时间: |
|
| 查看次数: |
15036 次 |
| 最近记录: |