Hi,

I am having trouble calling a web service using CXF from a google app engine 
app. I am getting a "java.lang.IllegalAccessException: Reflection is not 
allowed on private static java.net.Authenticator” exception. From the CXF 
sources, I can see the problem lies in "CXFAuthenticator.addAuthenticator", 
which does a lot of reflection stuff, amongst other things setting fields on 
“java.net.Authenticator” to public/accessible.

This does not play well on google app engine, which restricts such code.

Are there any known workarounds for this?

I have included the stack trace below:

java.lang.SecurityException: java.lang.IllegalAccessException: Reflection is 
not allowed on private static java.net.Authenticator 
java.net.Authenticator.theAuthenticator
at com.google.appengine.runtime.Request.process-9db71e78e4e5e190(Request.java)
at org.apache.cxf.common.util.ReflectionUtil$6.run(ReflectionUtil.java:110
at org.apache.cxf.common.util.ReflectionUtil$6.run(ReflectionUtil.java:108)
at java.security.AccessController.doPrivileged(AccessController.java:34)
at 
org.apache.cxf.common.util.ReflectionUtil.setAccessible(ReflectionUtil.java:108)
at 
org.apache.cxf.transport.http.CXFAuthenticator.addAuthenticator(CXFAuthenticator.java:53)
at 
org.apache.cxf.transport.http.URLConnectionHTTPConduit.<init>(URLConnectionHTTPConduit.java:69)
at 
org.apache.cxf.transport.http.HTTPTransportFactory.getConduit(HTTPTransportFactory.java:258)
at 
org.apache.cxf.binding.soap.SoapTransportFactory.getConduit(SoapTransportFactory.java:238)
at 
org.apache.cxf.endpoint.AbstractConduitSelector.getSelectedConduit(AbstractConduitSelector.java:110)
at 
org.apache.cxf.endpoint.UpfrontConduitSelector.prepare(UpfrontConduitSelector.java:63)
at 
org.apache.cxf.endpoint.ClientImpl.prepareConduitSelector(ClientImpl.java:850)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:525)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:463)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:366)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:319)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:133)

Reply via email to