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 ===