You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by "Amit Munwes (JIRA)" <ji...@apache.org> on 2019/05/01 10:26:00 UTC
[jira] [Commented] (TOMEE-2439) Wrong default SAAJMetaFactory
[ https://issues.apache.org/jira/browse/TOMEE-2439?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16830938#comment-16830938 ]
Amit Munwes commented on TOMEE-2439:
------------------------------------
MessageFactory.newInstance invokes SAAJMetaFactory.getInstance which invokes:
{code:java}
FactoryFinder.find(SAAJMetaFactory.class,"org.apache.axis2.saaj.SAAJMetaFactoryImpl");{code}
This method is using SPI to search for implementations of SAAJMetaFactory.
saaj-impl-1.3.23 which is included in TomEE 8.0.0-M2 has the wrong definition in META-INF/services - it has a definition for MetaFactory instead of SAAJMetaFactory.
*Upgrading to saaj-impl-1.5.1 fixes the issue.*
I'm not sure what other consequences this upgrade involves, but this might give a clue about a possible solution.
> Wrong default SAAJMetaFactory
> -----------------------------
>
> Key: TOMEE-2439
> URL: https://issues.apache.org/jira/browse/TOMEE-2439
> Project: TomEE
> Issue Type: Bug
> Components: TomEE Core Server
> Affects Versions: 8.0.0-M1
> Reporter: Peter Varga
> Priority: Minor
>
> In javaee-api 8.0, the class javax.xml.soap.SAAJMetaFactory has a hardcoded default factory of "org.apache.axis2.saaj.SAAJMetaFactoryImpl". This class from javaee-api is getting invoked since JDK11 no longer includes javax.xml.soap.*.
> Ultimately, this causes problems for applications that use a native JAX-WS stack and don't include axis2 since TomEE itself does not either.
> This code should work more like the implementation in org.apache.openejb.server.webservices.saaj.SaajFactoryFinder, which figures out which factory to use based on what's available.
> Same issue with javax.xml.soap.SOAPConnectionFactory
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)