If EJBProvider wasn't using reflection to get the EJBObject, then reflection-based
permission wouldn't be a problem.  But since it is, to avoid ejb.jar dependency, try
adding EJBProvider class to weblogic.policy.  This file should be in your WL domain
directory.

Gene
--- Tom Jordahl <[EMAIL PROTECTED]> wrote:
> 
> The EJBProvider (line 247) is trying to do the following:
>                // This code requires the use of ejb.jar, so we do the stuff below
>                 //   EJBHome ejbHome = (EJBHome) ehome;
>                 //   EJBMetaData meta = ejbHome.getEJBMetaData();
>                 //   Class interfaceClass = meta.getRemoteInterfaceClass();
> 
>                 // Invoke the getEJBMetaData method of the ejbHome class without
>                 // actually touching any EJB classes (i.e. no cast to EJBHome)
>                 Method getEJBMetaData =
>                         homeClass.getMethod("getEJBMetaData", empty_class_array);
>                 Object metaData =
>                         getEJBMetaData.invoke(ehome, empty_object_array);
>                 Method getRemoteInterfaceClass =
>                         metaData.getClass().getMethod("getRemoteInterfaceClass",
>                                                       empty_class_array);
>                 interfaceClass =
>                         (Class) getRemoteInterfaceClass.invoke(metaData,
>                                                                empty_object_array);
> 
> 
> Weblogic is apprently not allowing Axis to do this.  You need to get it to let that
> happen.
> 
> As a better alternative, set the <remoteInterfaceName> attribute in the WSDD
> configuration so that Axis doesn't have to scrounge around in JNDI and such for this
> class.
> 
> Hope this helps.
> 
> --
> Tom Jordahl
> Macromedia Server Development
> 
> 
> 
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
> Sent: Monday, January 13, 2003 9:18 PM
> To: [EMAIL PROTECTED]
> Cc: [EMAIL PROTECTED]
> Subject: Re: AXIS in Weblogic 6.1
> 
> 
> Hi,
> 
> The previous stack trace was generated when AXIS is running in tomcat
> container and the EJB web service in AXIS calls an EJB from Weblogic 6.1.
> 
> When AXIS running in Weblogic web server, requesting for the same EJB web
> service generated the same stack trace as below,
> 
> AXIS error
> Sorry, something seems to have gone wrong... here are the details:
> 
> Fault - org.apache.axis.ConfigurationException:
> java.lang.IllegalAccessException
> AxisFault
>  faultCode: {http://xml.apache.org/axis/}Server.userException
>  faultString: java.lang.IllegalAccessException
>  faultActor: null
>  faultDetail:
>       stackTrace: java.lang.IllegalAccessException
>       at java.lang.reflect.Method.invoke(Native Method)
>       at org.apache.axis.providers.java.EJBProvider.getServiceClass
> (EJBProvider.java:247)
>       at org.apache.axis.providers.java.JavaProvider.initServiceDesc
> (JavaProvider.java:535)
>       at
> org.apache.axis.handlers.soap.SOAPService.getInitializedServiceDesc
> (SOAPService.java:322)
>       at org.apache.axis.deployment.wsdd.WSDDService.makeNewInstance
> (WSDDService.java:477)
>       at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance
> (WSDDDeployableItem.java:312)
>       at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance
> (WSDDDeployableItem.java:298)
>       at org.apache.axis.deployment.wsdd.WSDDDeployment.getService
> (WSDDDeployment.java:492)
>       at org.apache.axis.configuration.FileProvider.getService
> (FileProvider.java:262)
>       at org.apache.axis.AxisEngine.getService(AxisEngine.java:275)
>       at org.apache.axis.MessageContext.setTargetService
> (MessageContext.java:586)
>       at org.apache.axis.handlers.http.URLMapper.invoke(URLMapper.java:89)
>       at org.apache.axis.handlers.http.URLMapper.generateWSDL
> (URLMapper.java:97)
>       at org.apache.axis.strategies.WSDLGenStrategy.visit
> (WSDLGenStrategy.java:72)
>       at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)
>       at org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:143)
>       at org.apache.axis.server.AxisServer.generateWSDL
> (AxisServer.java:456)
>       at org.apache.axis.transport.http.AxisServlet.processWsdlRequest
> (AxisServlet.java:428)
>       at org.apache.axis.transport.http.AxisServlet.doGet
> (AxisServlet.java:280)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
>       at org.apache.axis.transport.http.AxisServletBase.service
> (AxisServletBase.java:335)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>       at weblogic.servlet.internal.ServletStubImpl.invokeServlet
> (ServletStubImpl.java:265)
>       at weblogic.servlet.internal.ServletStubImpl.invokeServlet
> (ServletStubImpl.java:200)
>       at weblogic.servlet.internal.WebAppServletContext.invokeServlet
> (WebAppServletContext.java:2456)
>       at weblogic.servlet.internal.ServletRequestImpl.execute
> (ServletRequestImpl.java:2039)
>       at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
>       at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
> 
> 
> I really have no idea why this is happening.
> 
> 
> BEOH
> 
> 
> > Not that I doubt you, but the stacktrace seem to indicate Axis is
> > running in Tomcat and not WL?
> >
> > --- [EMAIL PROTECTED] wrote:
> >> Hi,
> >>
> >> I already successfully deployed both AXIS war into Weblogic 6.1 and
> >> one of the EJB (in WL server) to the AXIS.
> >>
> >> When I tried to hit http://localhost:7001/axis/services/UserBean?WSDL,
> >> I encountered the following problem.
> >>
> >> AXIS error
> >> Sorry, something seems to have gone wrong... here are the details:
> >>
> >> Fault - org.apache.axis.ConfigurationException:
> >> java.lang.IllegalAccessException
> >> AxisFault
> >>  faultCode: {http://xml.apache.org/axis/}Server.userException
> >>  faultString: java.lang.IllegalAccessException
> >>  faultActor: null
> >>  faultDetail:
> >>         stackTrace: java.lang.IllegalAccessException
> >>         at java.lang.reflect.Method.invoke(Native Method)
> >>         at org.apache.axis.providers.java.EJBProvider.getServiceClass
> >> (EJBProvider.java:247)
> >>         at org.apache.axis.providers.java.JavaProvider.initServiceDesc
> >> (JavaProvider.java:535)
> >>         at
> >> org.apache.axis.handlers.soap.SOAPService.getInitializedServiceDesc
> >> (SOAPService.java:322)
> >>         at org.apache.axis.deployment.wsdd.WSDDService.makeNewInstance
> >> (WSDDService.java:477)
> >>         at
> >>         org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance
> >> (WSDDDeployableItem.java:312)
> >>         at
> >>         org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance
> >> (WSDDDeployableItem.java:298)
> >>         at org.apache.axis.deployment.wsdd.WSDDDeployment.getService
> >> (WSDDDeployment.java:492)
> >>         at org.apache.axis.configuration.FileProvider.getService
> >> (FileProvider.java:262)
> >>         at org.apache.axis.AxisEngine.getService(AxisEngine.java:275)
> >>         at org.apache.axis.MessageContext.setTargetService
> >> (MessageContext.java:586)
> >>         at org.apache.axis.handlers.http.URLMapper.invoke
> >> (URLMapper.java:89) at
> >> org.apache.axis.handlers.http.URLMapper.generateWSDL
> >> (URLMapper.java:97)
> >>         at org.apache.axis.strategies.WSDLGenStrategy.visit
> >> (WSDLGenStrategy.java:72)
> >>         at
> >>         org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)
> >>         at
> >>         org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:143)
> >> at org.apache.axis.server.AxisServer.generateWSDL
> >> (AxisServer.java:456)
> >>         at
> >>         org.apache.axis.transport.http.AxisServlet.processWsdlRequest
> >> (AxisServlet.java:428)
> >>         at org.apache.axis.transport.http.AxisServlet.doGet
> >> (AxisServlet.java:280)
> >>         at
> >>         javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
> >>         at org.apache.axis.transport.http.AxisServletBase.service
> >> (AxisServletBase.java:335)
> >>         at
> >>         javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> >>         at
> >>         org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> >> (ApplicationFilterChain.java:247)
> >>         at org.apache.catalina.core.ApplicationFilterChain.doFilter
> >> (ApplicationFilterChain.java:193)
> >>         at org.apache.catalina.core.StandardWrapperValve.invoke
> >> (StandardWrapperValve.java:260)
> >>         at
> >>
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> >>  eNext(StandardPipeline.java:646)
> >>         at org.apache.catalina.core.StandardPipeline.invoke
> >> (StandardPipeline.java:483)
> 
=== message truncated ===

Reply via email to