Bug 780839 (SOA-3290)

Summary: Invalid javax.xml.ws.spi.Provider in jaxws-rt-X.Y.Z.jar after CXF installer has been run.
Product: [JBoss] JBoss Enterprise SOA Platform 5 Reporter: Marek Baluch <mbaluch>
Component: Build ProcessAssignee: Julian Coleman <jcoleman>
Status: CLOSED NEXTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 5.2.0.ER3CC: asoldano, dpalmer, mbaluch
Target Milestone: ---   
Target Release: 5.2.0 GA, 5.2.0.ER4   
Hardware: Unspecified   
OS: Unspecified   
URL: http://jira.jboss.org/jira/browse/SOA-3290
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-10-05 12:09:44 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Marek Baluch 2011-08-23 10:21:43 UTC
project_key: SOA

After CXF installer has been run files: 

1) server/*/deploy/soap.esb/jaxws-rt-2.1.7.jar/META-INF/services/javax.xml.ws.spi.Provider
2) jboss-as/client/jaxws-rt.jar/META-INF/services/javax.xml.ws.spi.Provider 

define the old provider class com.sun.xml.ws.spi.ProviderImpl instead of org.apache.cxf.jaxws.spi.ProviderImpl.
This can obviously lead to issues when an attempt will be made to use the old provider instead of the new one.

Comment 1 Alessio Soldano 2011-08-23 16:04:09 UTC
The provider to be used (which is not even the org.apache.cxf.jaxws.spi.ProviderImpl, but an extension of that from jbossws-cxf) should actually be controlled by the jbossws-cxf-factories.jar, which is to be installed in lib/endorsed. There seems to be a problem with the cxf-installer which is probably not copying it, can you please check and confirm?

Comment 2 Douglas Palmer 2011-08-23 18:46:39 UTC
jbossws-cxf-factories.jar isn't installed; it doesn't even exist in the installer.

Comment 3 Alessio Soldano 2011-08-24 14:50:08 UTC
Link: Added: This issue is related to JBPAPP-7074


Comment 4 Alessio Soldano 2011-08-24 14:56:46 UTC
OK, Douglas told me the installer for jbossws-cxf-3.1.2.SP8 is being used (I thought the latest one was used here instead). jbossws-cxf-factories.jar was not actually there yet in SP8 (it's been introduced in 3.1.2.SP9). I've fixed the installer bug for 3.1.2.SP9 (see JBPAPP-7074). Speaking of this issue with SP8, instead, the provider resolution is currently dependant on how the classpath is defined. The jbossws-cxf-client has the proper jaxws spi provider definition so everything works fine if jbossws-cxf-client.jars comes before jaxws-rt.jar in the classpath.
The proper way for fixing this would be to do something similar to what we have in SP9, ie having a descriptor only jars in lib/endorsing containing the proper META-INF/services/javax.xml.ws.spi.Provider .
Please let me know how you want to proceed.

Comment 5 Julian Coleman 2011-09-18 07:59:14 UTC
Link: Added: This issue relates to SOA-3330


Comment 6 Julian Coleman 2011-09-18 08:20:36 UTC
Resolved with revision 10079 of:

  src/main/patches/eap/patch_wscxf_console.xml
  pom.xml

Commit message:

  SOA-3290
  SOA-3319
  SOA-3330
  Use jbossws-cxf-installer version 5.1.2-SOA.

Comment 7 Julian Coleman 2011-09-18 08:20:36 UTC
Release Notes Docs Status: Added: Not Required


Comment 8 David Le Sage 2011-09-18 23:27:38 UTC
Writer: Added: dlesage


Comment 10 Marek Baluch 2011-10-05 12:09:44 UTC
jboss-cxf-factories.jar is present in lib/endorsed dir.

Verified on SOA 5.2 ER4