• Post Reply Bookmark Topic Watch Topic
  • New Topic

Getting javax.ejb.AccessLocalException while calling EJB-Based web services on Weblogic 10 MP1

 
Srinu banda
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi All

I am new to web services and i am trying to expose an EJB as Webservice on weblogic 10.1.

I have created a new session Bean class with JWS annotations and used the jwsc ant task of weblogic to generate the webservice and ejb jar file.

The jar file got created and then i used this jar to create a final ear and deployed on weblogic.

The deployment was successful and the call to EJB using a JUnit test client was successful. Where as the webservice call from SOAP UI is throwing an authentication error even after passing the username and password.

The users and roles are not maintained in weblogic and they are maintained outside weblogic with the provider information created in security realms of weblogic.
Please help me in fixing this issue

The Error in SOAP UI is:

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<env:Fault>
<faultcode>env:Client.Authentication</faultcode>
<faultstring>Failed to preinvoke end component weblogic.wsee.component.ComponentException: Failed to do preinvoke for operation '__WL_queryBillFinancialBreakdownAcrossProductInstancesForAccount_WS_preInvoke'Failed to do preinvoke for operation '__WL_queryBillFinancialBreakdownAcrossProductInstancesForAccount_WS_preInvoke'[EJB:010160]Security Violation: User: 'viasat_eca' has insufficient permission to access EJB: type=<ejb>, application=CustomECA, module=BillViewFormatterBean.jar, ejb=billviewformatterEJB, method=queryBillFinancialBreakdownAcrossProductInstancesForAccount, methodInterface=ServiceEndpoint, signature={com.convergys.geneva.j2ee.bill.BillPK,int}.</faultstring>
<detail>
<bea_fault:stacktrace xmlns:bea_fault="http://www.bea.com/servers/wls70/webservice/fault/1.0.0">javax.ejb.AccessLocalException: [EJB:010160]Security Violation: User: 'viasat_eca' has insufficient permission to access EJB: type=<ejb>, application=CustomECA, module=BillViewFormatterBean.jar, ejb=billviewformatterEJB, method=queryBillFinancialBreakdownAcrossProductInstancesForAccount, methodInterface=ServiceEndpoint, signature={com.convergys.geneva.j2ee.bill.BillPK,int}.
at weblogic.ejb.container.internal.MethodDescriptor.checkMethodPermissionsLocal(MethodDescriptor.java:574)
at weblogic.ejb.container.internal.BaseLocalObject.checkMethodPermissions(BaseLocalObject.java:95)
at weblogic.ejb.container.internal.BaseLocalObject.preInvoke(BaseLocalObject.java:272)
at weblogic.ejb.container.internal.BaseWSLocalObject.preInvoke(BaseWSLocalObject.java:124)
at com.convergys.viasat.billview.billviewformatterEJB_90f1cf_WSOImpl.__WL_queryBillFinancialBreakdownAcrossProductInstancesForAccount_WS_preInvoke(billviewformatterEJB_90f1cf_WSOImpl.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at weblogic.wsee.server.ejb.WsEjb.preInvoke(WsEjb.java:45)
at weblogic.wsee.component.ejb.EjbComponent.preinvoke(EjbComponent.java:43)
at weblogic.wsee.ws.dispatch.server.PreinvokeHandler.handleRequest(PreinvokeHandler.java:32)
at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:123)
at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:85)
at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80)
at weblogic.wsee.server.servlet.SoapProcessor.handlePost(SoapProcessor.java:66)
at weblogic.wsee.server.servlet.SoapProcessor.process(SoapProcessor.java:44)
at weblogic.wsee.server.servlet.BaseWSServlet$AuthorizedInvoke.run(BaseWSServlet.java:257)
at weblogic.wsee.server.servlet.BaseWSServlet.service(BaseWSServlet.java:156)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3395)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2140)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2046)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)</bea_fault:stacktrace>
</detail>
</env:Fault>
</env:Body>
</env:Envelope>
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!