You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by cs...@apache.org on 2013/09/17 16:09:13 UTC

svn commit: r1524051 - in /cxf/branches/2.7.x-fixes: ./ rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java

Author: cschneider
Date: Tue Sep 17 14:09:13 2013
New Revision: 1524051

URL: http://svn.apache.org/r1524051
Log:
CXF-5284 Switch order of interfaces in proxy call

Modified:
    cxf/branches/2.7.x-fixes/   (props changed)
    cxf/branches/2.7.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java

Propchange: cxf/branches/2.7.x-fixes/
------------------------------------------------------------------------------
  Merged /cxf/trunk:r1524050

Modified: cxf/branches/2.7.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java?rev=1524051&r1=1524050&r2=1524051&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java (original)
+++ cxf/branches/2.7.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java Tue Sep 17 14:09:13 2013
@@ -119,7 +119,7 @@ public class JaxWsProxyFactoryBean exten
     @Override
     protected Class<?>[] getImplementingClasses() {
         Class<?> cls = getClientFactoryBean().getServiceClass();
-        return new Class[] {BindingProvider.class, Closeable.class, cls};
+        return new Class[] {cls, BindingProvider.class, Closeable.class, Client.class};
     }
     
     /**



Fwd: svn commit: r1524051 - in /cxf/branches/2.7.x-fixes: ./ rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java

Posted by Alessio Soldano <as...@redhat.com>.
The commit below causes multiple regressions in JBoss integration with 
Apache CXF.
It's not fully clear to me the sequence of changes that led to this; 
currently the exception I get is the following:

11:23:52,385 ERROR [stderr] (default task-49) 
java.lang.IllegalArgumentException: interface 
javax.xml.ws.BindingProvider is not visible from class loader
11:23:52,385 ERROR [stderr] (default task-49)   at 
java.lang.reflect.Proxy.getProxyClass0(Proxy.java:484)
11:23:52,385 ERROR [stderr] (default task-49)   at 
java.lang.reflect.Proxy.newProxyInstance(Proxy.java:713)
11:23:52,385 ERROR [stderr] (default task-49)   at 
org.apache.cxf.common.util.ProxyHelper.getProxyInternal(ProxyHelper.java:46)
11:23:52,386 ERROR [stderr] (default task-49)   at 
org.apache.cxf.common.util.ProxyHelper.getProxy(ProxyHelper.java:86)
11:23:52,386 ERROR [stderr] (default task-49)   at 
org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:175)
11:23:52,386 ERROR [stderr] (default task-49)   at 
org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:142)
11:23:52,386 ERROR [stderr] (default task-49)   at 
org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:476)
11:23:52,386 ERROR [stderr] (default task-49)   at 
org.jboss.wsf.stack.cxf.client.ProviderImpl$JBossWSServiceImpl.createPort(ProviderImpl.java:505)
11:23:52,386 ERROR [stderr] (default task-49)   at 
org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:343)
11:23:52,386 ERROR [stderr] (default task-49)   at 
org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:334)
11:23:52,386 ERROR [stderr] (default task-49)   at 
javax.xml.ws.Service.getPort(Service.java:99)
11:23:52,387 ERROR [stderr] (default task-49)   at 
org.jboss.test.ws.jaxws.samples.schemavalidation.Helper.testDefaultClientValidation(Helper.java:59)
11:23:52,387 ERROR [stderr] (default task-49)   at 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
11:23:52,387 ERROR [stderr] (default task-49)   at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
11:23:52,387 ERROR [stderr] (default task-49)   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
11:23:52,387 ERROR [stderr] (default task-49)   at 
java.lang.reflect.Method.invoke(Method.java:601)
11:23:52,387 ERROR [stderr] (default task-49)   at 
org.jboss.wsf.test.TestServlet.invokeMethod(TestServlet.java:124)
11:23:52,387 ERROR [stderr] (default task-49)   at 
org.jboss.wsf.test.TestServlet.doGet(TestServlet.java:77)
11:23:52,387 ERROR [stderr] (default task-49)   at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
11:23:52,388 ERROR [stderr] (default task-49)   at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
11:23:52,388 ERROR [stderr] (default task-49)   at 
io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:87)
11:23:52,388 ERROR [stderr] (default task-49)   at 
io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:59)
11:23:52,388 ERROR [stderr] (default task-49)   at 
io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
11:23:52,388 ERROR [stderr] (default task-49)   at 
org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:81)
11:23:52,388 ERROR [stderr] (default task-49)   at 
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
11:23:52,388 ERROR [stderr] (default task-49)   at 
io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113)
11:23:52,389 ERROR [stderr] (default task-49)   at 
io.undertow.security.handlers.AuthenticationCallHandler.handleRequest(AuthenticationCallHandler.java:52)
11:23:52,389 ERROR [stderr] (default task-49)   at 
io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45)
11:23:52,389 ERROR [stderr] (default task-49)   at 
io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:65)
11:23:52,389 ERROR [stderr] (default task-49)   at 
io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:70)
11:23:52,389 ERROR [stderr] (default task-49)   at 
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
11:23:52,389 ERROR [stderr] (default task-49)   at 
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
11:23:52,389 ERROR [stderr] (default task-49)   at 
io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:209)
11:23:52,389 ERROR [stderr] (default task-49)   at 
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:196)
11:23:52,389 ERROR [stderr] (default task-49)   at 
io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:69)
11:23:52,390 ERROR [stderr] (default task-49)   at 
io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:130)
11:23:52,390 ERROR [stderr] (default task-49)   at 
io.undertow.server.HttpHandlers.executeRootHandler(HttpHandlers.java:36)
11:23:52,390 ERROR [stderr] (default task-49)   at 
io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:614)
11:23:52,390 ERROR [stderr] (default task-49)   at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
11:23:52,390 ERROR [stderr] (default task-49)   at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
11:23:52,390 ERROR [stderr] (default task-49)   at 
java.lang.Thread.run(Thread.java:722)

My gut feeling is that the change is somehow causing the boot 
classloader to be used for loading BindingProvider class within the 
Proxy, as a consequence of having added the boot classloader to the 
ProxyClassLoader because of Closeable interface (which is loaded by the 
boot classloader). In our scenario, though, the BindingProvider 
interface passed in when asking for the proxy is not loaded by the boot 
classloader (similarly to a OSGI environment, there's a classloader for 
a module with the proper version of the jaxws api to be used).

I'm excluding the commit here in the TCK testing we're running for 
validating Dan's fixes on 2.7.x branch after the 2.7.7 vote cancellation 
of yesterday.

Cheers
Alessio


-------- Original Message --------
Subject: 	svn commit: r1524051 - in /cxf/branches/2.7.x-fixes: ./ 
rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java 

Date: 	Tue, 17 Sep 2013 14:09:13 -0000
From: 	cschneider@apache.org
Reply-To: 	dev@cxf.apache.org
To: 	commits@cxf.apache.org



Author: cschneider
Date: Tue Sep 17 14:09:13 2013
New Revision: 1524051

URL: http://svn.apache.org/r1524051
Log:
CXF-5284 Switch order of interfaces in proxy call

Modified:
     cxf/branches/2.7.x-fixes/   (props changed)
     cxf/branches/2.7.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java

Propchange: cxf/branches/2.7.x-fixes/
------------------------------------------------------------------------------
   Merged /cxf/trunk:r1524050

Modified: cxf/branches/2.7.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java?rev=1524051&r1=1524050&r2=1524051&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java (original)
+++ cxf/branches/2.7.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java Tue Sep 17 14:09:13 2013
@@ -119,7 +119,7 @@ public class JaxWsProxyFactoryBean exten
      @Override
      protected Class<?>[] getImplementingClasses() {
          Class<?> cls = getClientFactoryBean().getServiceClass();
-        return new Class[] {BindingProvider.class, Closeable.class, cls};
+        return new Class[] {cls, BindingProvider.class, Closeable.class, Client.class};
      }
      
      /**