Security Problem when call EJB in servlet:[Security:090398]Invalid Subject

Hi guys,
I have several years experience with Java and EJB developing,but still I cann't explain this problem although I already knew the fix...
Please,can anyone help me to explain why? Thanks very much!
Ok,the problem is when I call a remote EJB in one method ,that is everything about EJB is in one method,then everything is ok.But when I just return the
*remote service object from an helper class's static method, and call the service in servlet ,then I get java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[sundan076],which sundan076 is username login into the web application.*
The right way, call method directCall(param) ; The wrong way, call  method staticToolCall(final Map param) .
public class EJBServletClient extends HttpServlet
     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
          this.doPost(request, response);
     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,
               IOException
          try
               Map<String, String> param = new HashMap<String, String>();
               param.put("CTS_CUSTOMER_ID", request.getParameter("CTS_CUSTOMER_ID"));
               param.put("CTS_TASK_ID", request.getParameter("CTS_TASK_ID"));
               param.put("SERIALNO", request.getParameter("SERIALNO"));
               param.put("CUSTOMER_SERVICE_UM", request.getParameter("CUSTOMER_SERVICE_UM"));
               Map result = this.directCall(param);
               System.out.println(result);
          } catch (Exception e)
               e.printStackTrace();
               throw new ServletException(e);
     private Map directCall(Map param) throws Exception
          Context context = null;
          try
               Properties p = new Properties();
               p.put(Context.PROVIDER_URL, "t3://10.25.32.13:31256");
               p.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
               p.put(Context.SECURITY_PRINCIPAL, "username");
               p.put(Context.SECURITY_CREDENTIALS, "password");
               context = new InitialContext(p);
               BizApplyServiceHome home = (BizApplyServiceHome) PortableRemoteObject.narrow(
                         context.lookup("ejb/rcs-css/BizApplyService"), BizApplyServiceHome.class);
               BizApplyService bizApplyService = home.create();
               return bizApplyService.modifyApplyCustomerInfo(param);
          } finally
               if (context != null)
                    context.close();
     private Map staticToolCall(final Map param) throws Exception
          BizApplyService bizApplyService = EJBTool.getBizApplyService();
          return bizApplyService.modifyApplyCustomerInfo(param);
public class EJBTool
     public static BizApplyService getBizApplyService() throws Exception
          Context context = null;
          try
               Properties p = new Properties();
               p.put(Context.PROVIDER_URL, "t3://10.25.32.13:31256");
               p.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
               p.put(Context.SECURITY_PRINCIPAL, "username");
               p.put(Context.SECURITY_CREDENTIALS, "password");
               context = new InitialContext(p);
               BizApplyServiceHome home = (BizApplyServiceHome) PortableRemoteObject.narrow(
                         context.lookup("ejb/rcs-css/BizApplyService"), BizApplyServiceHome.class);
               return home.create();
          } finally
               if (context != null)
                    context.close();
java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[sundan076]
     at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:234)
     at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
     at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
     at com.pingan.rcs.css.biz.service.remote.ejb.bizApplyService_u7jjbk_EOImpl_1032_WLStub.modifyApplyCustomerInfo(Unknown Source)
     at com.pingan.pafax.web.EJBServletClient.staticToolCall(EJBServletClient.java:80)
     at com.pingan.pafax.web.EJBServletClient.doPost(EJBServletClient.java:43)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
     at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
     at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
     at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
     at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
     at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3594)
     at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
     at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
     at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
     at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
     at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
     at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
     at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[sundan076]
     at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:835)
     at weblogic.security.service.SecurityServiceManager.getSealedSubjectFromWire(SecurityServiceManager.java:524)
     at weblogic.rjvm.MsgAbbrevInputStream.getSubject(MsgAbbrevInputStream.java:315)
     at weblogic.rmi.internal.BasicServerRef.acceptRequest(BasicServerRef.java:875)
     at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:310)
     at weblogic.rmi.cluster.ClusterableServerRef.dispatch(ClusterableServerRef.java:242)
     at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:1138)
     at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:1020)
     at weblogic.rjvm.ConnectionManagerServer.handleRJVM(ConnectionManagerServer.java:240)
     at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:882)
     at weblogic.rjvm.MsgAbbrevJVMConnection.dispatch(MsgAbbrevJVMConnection.java:453)
     at weblogic.rjvm.t3.MuxableSocketT3.dispatch(MuxableSocketT3.java:322)
     at weblogic.socket.BaseAbstractMuxableSocket.dispatch(BaseAbstractMuxableSocket.java:298)
     at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:915)
     at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:854)
     at weblogic.socket.EPollSocketMuxer.dataReceived(EPollSocketMuxer.java:215)
     at weblogic.socket.EPollSocketMuxer.processSockets(EPollSocketMuxer.java:177)
     at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
     at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)
     at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
     at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
Edited by: 993478 on 2013-3-12 下午8:40

I tried your way,it works! Still ,does anyone know why staticToolCall() raised exception?
By the way,here is the code as you suggested:
public class EJBServletClient extends HttpServlet
     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,
               IOException
          Context context = null;
          try
               Map<String, String> param = new HashMap<String, String>();
               param.put("CTS_CUSTOMER_ID", request.getParameter("CTS_CUSTOMER_ID"));
               param.put("CTS_TASK_ID", request.getParameter("CTS_TASK_ID"));
               param.put("SERIALNO", request.getParameter("SERIALNO"));
               param.put("CUSTOMER_SERVICE_UM", request.getParameter("CUSTOMER_SERVICE_UM"));
               //Map result = this.staticToolCall(param);
               Properties p = new Properties();
               p.put(Context.PROVIDER_URL, "t3://10.25.32.13:31256");
               p.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
               p.put(Context.SECURITY_PRINCIPAL, "username");
               p.put(Context.SECURITY_CREDENTIALS, "password");
               context = new InitialContext(p);
               Map result=EJBTool.modifyApplyCustomerInfo(context, param);
               System.out.println(result);
          } catch (Exception e)
               e.printStackTrace();
               throw new ServletException(e);
          }finally
               if (context != null)
                    try{context.close();} catch (NamingException e){e.printStackTrace();}
public class EJBTool
     public static Map modifyApplyCustomerInfo(Context context, Map param) throws Exception
          BizApplyServiceHome home = (BizApplyServiceHome) PortableRemoteObject.narrow(
                    context.lookup("ejb/rcs-css/BizApplyService"), BizApplyServiceHome.class);
          BizApplyService bizApplyService = home.create();
          Map result = bizApplyService.modifyApplyCustomerInfo(param);
          return result;
}

Similar Messages

  • [Fwd: Security problem accessing MBeanServer from a servlet]

    Reposting to Security and Servlet newsgroups.
    -------- Original Message --------
    Subject: Security problem accessing MBeanServer from a servlet
    Date: 10 Feb 2004 13:02:09 -0800
    From: Alain <[email protected]>
    Reply-To: Alain <[email protected]>
    Organization: BEA NEWS SITE
    Newsgroups: weblogic.developer.interest.management
    Hi,
    I am trying to understand how WLS 7.0 secures a call to an MBean. Got
    the following
    scenario:
    - I am in a servlet context
    - I have created and registered an MBean with the WLS MBeanServer. Fine
    so far
    - Within the same call I can retrieve the MBean attributes. Fine so far
    - I keep the MBeanServer reference in an object global to the servlet
    context
    The problem:
    - When I do another request and try to use the cached MBeanServer
    instance to
    access the MBean, I get the following error:
    weblogic.management.NoAccessRuntimeException: Access not allowed for
    subject:
    principals=[], on ResourceType ...
    Any idea?
    Alain

    PaulF <[email protected]_in_newsgroup.com> wrote:
    On 10 Feb 2004 13:02:09 -0800, Alain <[email protected]> wrote:
    Hi,
    I am trying to understand how WLS 7.0 secures a call to an MBean. Got
    the following
    scenario:
    - I am in a servlet context
    - I have created and registered an MBean with the WLS MBeanServer.Fine
    so far
    - Within the same call I can retrieve the MBean attributes. Fine sofar
    - I keep the MBeanServer reference in an object global to the servlet
    context
    The problem:
    - When I do another request and try to use the cached MBeanServer
    instance to
    access the MBean, I get the following error:
    weblogic.management.NoAccessRuntimeException: Access not allowed for
    subject:
    principals=[], on ResourceType ...
    Any idea?
    AlainWhat ResourceType are you trying to access. From the Exception you're
    trying to access it as an Anonymous user (principals=[]) and evidently
    you're attempting to access something that is protected. I can't tell
    what
    from the snippet you've included.
    Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
    Thanks Paul for your reply.
    You are right. I can access my custom MBeans if I am authenticated for example
    as an Administrator. My problem is that I want any application to access this
    MBean authenticated or not. I am trying to find how I could grant permission to
    this MBean to everyone. Still searching.
    Thanks.

  • Security problem when signed applet dynamically load plugins

    Hi!
    I have one problem : "security problem when signed applet dynamically load plugins"
    This is the scenario:
    the main program [app.jar]
    . contain applet and shared library (interface & implement of common class)
    . it is signed and run normally on browser
    . it can draw image loaded from other URL [ex] http://bp1.blogger.com/image.jpg
    . the image loader is in the shared library
    . dynamically load amazon.jar through URLClassLoader and reflection
    the plugin [amazon.jar]
    . search amazon product [ex] Harry Potter book
    . draw image on applet
    . use image loader from shared library, BUT CANNOT LOAD IMAGE
    The question: "Why it cannot load image, because the image loader is in the shared library which has been signed and working?" I tried to sign the amazon.jar too, but it did not work.
    Your reply would be very helpful. Thank you.
    Sovann

    hello. i have create a signed applet for A.jar. A.jar include two package B and C. the main applet class is within B.
    B need some classes in C to run the applet. but i got the error that class in package c are not found.
    what shall i do?

  • Error when call webservice on servlet

    Hi All,
    I'm having a problem when calling webservice inside the servlet on the WebLogic environment.
    My code:
    * Webservice:
    package ws;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.Date;
    import javax.jws.WebMethod;
    import javax.jws.WebParam;
    import javax.jws.WebService;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.sql.DataSource;
    @WebService
    public class getData {
    public getData() {
    super();
    @WebMethod
    public String getHello() {
    return "HELLO HELLO";
    private Connection getConn() throws NamingException, SQLException {
    InitialContext ic = new InitialContext();
    DataSource ds = (DataSource)ic.lookup("jdbc/hnxwebsite");
    //System.out.println("POOL !!!!");
    Connection con = ds.getConnection();
    con.setAutoCommit(false);
    return con;
    @WebMethod
    public String getIndexData(@WebParam(name="param") String param) {
    StringBuffer sb = new StringBuffer();
    String sql =
    "Select * From idx_index_info iii where iii.index_code= ?";
    Connection con = null;
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    try {
    con = getConn();
    pstmt = con.prepareStatement(sql);
    pstmt.setString(1, param);
    rs = pstmt.executeQuery();
    int columnCount = rs.getMetaData().getColumnCount();
    Object val;
    while (rs.next()) {
    for (int i = 1; i < columnCount; i++) {
    //System.out.println(i);
    val = rs.getObject(i);
    if (val != null)
    sb.append(val.toString() + "\n");
    } catch (SQLException e) {
    e.printStackTrace();
    } catch (NamingException e) {
    e.printStackTrace();
    } finally {
    try {
    if (rs != null)
    rs.close();
    if (pstmt != null)
    pstmt.close();
    if (con != null)
    con.close();
    } catch (Exception e) {
    e.printStackTrace();
    String str = sb.toString();
    int len = str.length();
    //System.out.println("LENGTH >>>>"+len);
    return str;
    public static void main(String[] arg) {
    Date date = new Date();
    System.out.println(date.toGMTString());
    getData gd = new getData();
    System.out.println(date.toGMTString());
    //System.out.println(gd.getIndexData("ACB"));
    * WebClient:
    package hnx;
    import java.util.Date;
    import java.util.Map;
    import javax.xml.namespace.QName;
    import javax.xml.soap.MessageFactory;
    import javax.xml.soap.SOAPBody;
    import javax.xml.soap.SOAPBodyElement;
    import javax.xml.soap.SOAPElement;
    import javax.xml.soap.SOAPMessage;
    import javax.xml.ws.BindingProvider;
    import javax.xml.ws.Dispatch;
    import javax.xml.ws.Service;
    import javax.xml.ws.WebServiceException;
    import javax.xml.ws.soap.SOAPBinding;
    public class wsClient {
    public wsClient() {
    super();
    public String procWeb() {
    String strmsg = null;
    try {
    QName serviceName = new QName("http://192.168.60.18:7001/","getDataService");
    // QName for Port As defined in wsdl.
    QName portName = new QName("http://192.168.60.18:7001/","getDataPort");
    // //Endpoint Address
    String endpointAddress = "http://192.168.60.18:7001/WsIndex/getDataPort?wsdl";
    // Create a dynamic Service instance
    Service service = Service.create(serviceName);
    service.addPort(portName, SOAPBinding.SOAP11HTTP_BINDING,
    endpointAddress);
    // Create a dispatch instance
    Dispatch<SOAPMessage> dispatch = service.createDispatch(portName,
    SOAPMessage.class, Service.Mode.MESSAGE);
    // Use Dispatch as BindingProvider
    BindingProvider bp = (BindingProvider) dispatch;
    // Optionally Configure RequestContext to send SOAPAction HTTP Header
    Map<String, Object> rc = bp.getRequestContext();
    rc.put(BindingProvider.SOAPACTION_USE_PROPERTY, Boolean.TRUE);
    rc.put(BindingProvider.SOAPACTION_URI_PROPERTY, "http://ws/");
    // Obtain a preconfigured SAAJ MessageFactory
    MessageFactory factory = ((SOAPBinding) bp.getBinding())
    .getMessageFactory();
    // Create SOAPMessage Request
    SOAPMessage request = factory.createMessage();
    // Request Body
    SOAPBody body = request.getSOAPBody();
    // Compose the soap:Body payload
    QName payloadName = new QName("http://ws/", "getIndexData","ns1");
    SOAPBodyElement payload = body.addBodyElement(payloadName);
    SOAPElement message = payload.addChildElement( "param");
    message.addTextNode("HNX302");
    request.saveChanges();
    // Invoke the endpoint synchronously
    System.out.println(message);
    SOAPMessage reply = null;
    try { // Invoke Endpoint Operation and read response
    reply = dispatch.invoke(request);
    } catch (WebServiceException wse) {
    wse.printStackTrace();
    // process the reply
    SOAPBody bodyRes = reply.getSOAPBody();
    SOAPBodyElement nextSoapBodyElement = (SOAPBodyElement) bodyRes
    .getChildElements().next();
    SOAPElement soapElement = (SOAPElement) nextSoapBodyElement
    .getChildElements().next();
    strmsg = soapElement.getValue();
    System.out.println("AAA >>"+strmsg);
    } catch (Exception wse) {
    wse.printStackTrace();
    return strmsg;
    public static void main(String[] arg) {
    wsClient ws = new wsClient();
    Date date = new Date();
    System.out.println(date.toGMTString());
    System.out.println(ws.procWeb());
    System.out.println(date.toGMTString());
    * Servlet:
    package hnx;
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import ws.GetData;
    import ws.GetDataPortClient;
    import ws.GetDataService;
    public class getIndex extends HttpServlet {
    private static final String CONTENT_TYPE = "text/html; charset=UTF-8";
    public void init(ServletConfig config) throws ServletException {
    super.init(config);
    public void doPost(HttpServletRequest request,
    HttpServletResponse response) throws ServletException,
    IOException {
    doGet(request, response);
    public void doGet(HttpServletRequest request,
    HttpServletResponse response) throws ServletException,
    IOException {
    response.reset();
    response.flushBuffer();
    response.setContentType(CONTENT_TYPE);
    PrintWriter out = response.getWriter();
    // GetDataService service = new GetDataService();
    // GetData getData = service.getGetDataPort();
    // String str = getData.getIndexData("HNX302");
    // int length = str.length();
    // response.setContentLength(length);
    wsClient ws = new wsClient();
    String str = ws.procWeb();
    try {
    out.println(str);
    } catch (Exception e) {
    e.printStackTrace();
    out.close();
    ERROR: >>>>>[Another instance of the application is running on the server.  JDeveloper redeploy the application.]
    [Application SClient stopped but not undeployed from Server Instance IntegratedWebLogicServer]
    [Running application SClient on Server Instance IntegratedWebLogicServer...]
    [03:41:48 PM] ---- Deployment started. ----
    [03:41:48 PM] Target platform is (Weblogic 10.3).
    [03:41:48 PM] Retrieving existing application information
    [03:41:48 PM] Running dependency analysis...
    [03:41:48 PM] Deploying 2 profiles...
    [03:41:48 PM] Wrote Web Application Module to C:\Users\W7\AppData\Roaming\JDeveloper\system11.1.1.2.36.55.36\o.j2ee\drs\SClient\sgetDataWebApp.war
    [03:41:48 PM] Wrote Enterprise Application Module to C:\Users\W7\AppData\Roaming\JDeveloper\system11.1.1.2.36.55.36\o.j2ee\drs\SClient
    [03:41:49 PM] Redeploying Application...
    [03:41:49 PM] Application Redeployed Successfully.
    [03:41:49 PM] The following URL context root(s) were defined and can be used as a starting point to test your application:
    [03:41:49 PM] http://192.168.9.100:7101/SClient
    [03:41:49 PM] Elapsed time for deployment: 1 second
    [03:41:49 PM] ---- Deployment finished. ----
    Run startup time: 1380 ms.
    [Application SClient deployed to Server Instance IntegratedWebLogicServer]
    Target URL -- http://127.0.0.1:7101/SClient/getindex
    [param: null]
    javax.xml.ws.WebServiceException: com.ctc.wstx.exc.WstxIOException: Exceeding stated content length of 228
         at com.sun.xml.ws.encoding.StreamSOAPCodec.encode(StreamSOAPCodec.java:117)
         at com.sun.xml.ws.encoding.SOAPBindingCodec.encode(SOAPBindingCodec.java:258)
         at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:165)
         at com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:101)
         at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:604)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:563)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:548)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:445)
         at com.sun.xml.ws.client.Stub.process(Stub.java:248)
         at com.sun.xml.ws.client.dispatch.DispatchImpl.doInvoke(DispatchImpl.java:189)
         at com.sun.xml.ws.client.dispatch.DispatchImpl.invoke(DispatchImpl.java:215)
         at hnx.wsClient.procWeb(wsClient.java:75)
         at hnx.getIndex.doGet(getIndex.java:40)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:326)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: com.ctc.wstx.exc.WstxIOException: Exceeding stated content length of 228
         at com.ctc.wstx.sw.BaseStreamWriter.finishDocument(BaseStreamWriter.java:1687)
         at com.ctc.wstx.sw.BaseStreamWriter.writeEndDocument(BaseStreamWriter.java:585)
         at com.sun.xml.ws.message.saaj.SAAJMessage.writeTo(SAAJMessage.java:396)
         at com.sun.xml.ws.encoding.StreamSOAPCodec.encode(StreamSOAPCodec.java:114)
         ... 29 more
    Caused by: java.net.ProtocolException: Exceeding stated content length of 228
         at weblogic.net.http.ContentLengthOutputStream.write(ContentLengthOutputStream.java:39)
         at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:96)
         at com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:214)
         at com.ctc.wstx.sw.BufferingXmlWriter.close(BufferingXmlWriter.java:194)
         at com.ctc.wstx.sw.BaseStreamWriter.finishDocument(BaseStreamWriter.java:1685)
         ... 32 more
    java.lang.NullPointerException
         at hnx.wsClient.procWeb(wsClient.java:82)
         at hnx.getIndex.doGet(getIndex.java:40)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:326)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Can anyone help?
    Thanks in advance.
    LTThoi

    I'm no webservices/servlet expert , but can you check the obvious out here -
    javax.xml.ws.WebServiceException: com.ctc.wstx.exc.WstxIOException: Exceeding stated content length of 228
    at ......
    at hnx.wsClient.procWeb(wsClient.java:75)+ // check if you are passign something thats more than 228 chars
    at hnx.getIndex.doGet(getIndex.java:40)

  • Calling ejbs from servlets without using web apps.

    i am trying to instantiate and ejb from a servlet but it gives me the
              following error. the configuration and code that generated this error is
              attached below.
              oddly enough the same chunk of code works fine in a stand alone client if
              j2ee.jar;weblogic\classes and weblogicaux.jar are included in the classpath.
              any help would be appreciated.
              peter
              -8787844: in servlet.Webmedx.init
              -8787844: null
              java.lang.ClassCastException
              at
              com.sun.corba.ee.internal.javax.rmi.PortableRemoteObject.narrow(Porta
              bleRemoteObject.java:296)
              at
              javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:137)
              at webmedx.servlet.Webmedx.init(Webmedx.java:23)
              at javax.servlet.GenericServlet.init(GenericServlet.java:258)
              at
              weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubIm
              pl.java:474)
              at
              weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStub
              Impl.java, Compiled Code)
              at
              weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubI
              mpl.java:422)
              at
              weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.
              java:187)
              at
              weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
              pl.java:118)
              at
              weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
              textImpl.java:760)
              at
              weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
              textImpl.java:707)
              at
              weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
              ContextManager.java:251)
              at
              weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
              a:369)
              at
              weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:269)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled
              Code)
              configuration:
              WebLogic startup settings are presently:
              CLASSPATH Prefix
              \weblogic\lib\weblogic510sp5boot.jar;\j2ee\lib\j2ee.jar;\web
              logic\lib\servlet.jar;\weblogic\lib\jaxp.jar;\weblogic\lib\parser.jar
              CLASSPATH
              \weblogic\lib\weblogic510sp5boot.jar;\j2ee\lib\j2ee.jar;\web
              logic\lib\servlet.jar;\weblogic\lib\jaxp.jar;\weblogic\lib\parser.jar;\weblo
              gic\
              jre1_2\lib\tools.jar;\weblogic\jre1_2\jre\lib\rt.jar;\weblogic\jre1_2\jre\li
              b\i1
              8n.jar;C:\weblogic\license;C:\weblogic\classes\boot;C:\weblogic\classes;C:\w
              eblo
              gic\lib\weblogicaux.jar;C:\weblogic\eval\cloudscape\lib\cloudscape.jar
              JAVA_HOME \weblogic\jre1_2
              WEBLOGIC_LICENSEDIR C:\weblogic\license
              WEBLOGIC_HOME C:\weblogic
              system properties:
              java.security.manager
              java.security.policy=\weblogic\weblogic.policy
              weblogic.system.home=\weblogic
              java.compiler=symcjit
              weblogic.class.path=\weblogic\lib\weblogic510sp5.jar;\weblog
              ic\license;\weblogic\classes;\weblogic\lib\weblogicaux.jar
              INITIAL_HEAP 64 MB
              MAX_HEAP 64 MB
              SERVERCLASSPATH
              \weblogic\lib\weblogic510sp5boot.jar;\j2ee\lib\j2ee.jar;\web
              logic\lib\servlet.jar;\weblogic\lib\jaxp.jar;\weblogic\lib\parser.jar;\weblo
              gic\
              jre1_2\jre\lib\rt.jar;\weblogic\jre1_2\jre\lib\i18n.jar;C:\weblogic\classes\
              boot
              ;C:\weblogic\eval\cloudscape\lib\cloudscape.jar
              Type "wlconfig -help" for program usage.
              code:
              public void init() throws ServletException{
              try{
              Log.debug("in servlet.Webmedx.init");
              Properties h = new Properties();
              h.put(Context.INITIAL_CONTEXT_FACTORY,
              "weblogic.jndi.WLInitialContextFactory");
              h.put(Context.PROVIDER_URL, "t3://localhost:7001");
              Context initial = new InitialContext(h);
              Object objref = initial.lookup("webmedx/pool");
              webmedxpoolhome =
              (WebmedxPoolHome)PortableRemoteObject.narrow(objref,WebmedxPoolHome.class);
              }catch(Exception ex){
              Log.error(ex);
              

    The problem before was that you were trying to load the same class from
              2 different class paths. The ClassCastException is very un-intuitive in this
              case.
              Peter Ghosh wrote:
              > however, when i added it to the classpath prefix (not the
              > weblogic.classpath) it seemed to do the trick. very odd.
              > thanks,
              > peter
              >
              > "Peter Ghosh" <[email protected]> wrote in message
              > news:[email protected]
              > > i tried that but no luck. any other suggestions?
              > > peter
              > >
              > > "Ohad Shany" <[email protected]> wrote in message
              > > news:[email protected]
              > > > Is your EJB classes on the servlet classpath?
              > > > (weblogic.httpd.servlet.classpath property)
              > > >
              > > > I had some strange casting problem when my EJB classes was on the
              > servlet
              > > > classpath
              > > > and it was gone when i moved them to the weblogic.class.path . Worth a
              > > try.
              > > >
              > > > OHAD
              > > >
              > > > Peter Ghosh wrote:
              > > >
              > > > > i am trying to instantiate and ejb from a servlet but it gives me the
              > > > > following error. the configuration and code that generated this error
              > is
              > > > > attached below.
              > > > > oddly enough the same chunk of code works fine in a stand alone client
              > > if
              > > > > j2ee.jar;weblogic\classes and weblogicaux.jar are included in the
              > > classpath.
              > > > > any help would be appreciated.
              > > > > peter
              > > > >
              > > > > -8787844: in servlet.Webmedx.init
              > > > > -8787844: null
              > > > > java.lang.ClassCastException
              > > > > at
              > > > > com.sun.corba.ee.internal.javax.rmi.PortableRemoteObject.narrow(Porta
              > > > > bleRemoteObject.java:296)
              > > > > at
              > > > > javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:137)
              > > > > at webmedx.servlet.Webmedx.init(Webmedx.java:23)
              > > > > at javax.servlet.GenericServlet.init(GenericServlet.java:258)
              > > > > at
              > > > > weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubIm
              > > > > pl.java:474)
              > > > > at
              > > > > weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStub
              > > > > Impl.java, Compiled Code)
              > > > > at
              > > > > weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubI
              > > > > mpl.java:422)
              > > > > at
              > > > > weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.
              > > > > java:187)
              > > > > at
              > > > > weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
              > > > > pl.java:118)
              > > > > at
              > > > > weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
              > > > > textImpl.java:760)
              > > > > at
              > > > > weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
              > > > > textImpl.java:707)
              > > > > at
              > > > > weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
              > > > > ContextManager.java:251)
              > > > > at
              > > > > weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
              > > > > a:369)
              > > > > at
              > > > > weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:269)
              > > > >
              > > > > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled
              > > > > Code)
              > > > >
              > > > > configuration:
              > > > >
              > > > > WebLogic startup settings are presently:
              > > > >
              > > > > CLASSPATH Prefix
              > > > > \weblogic\lib\weblogic510sp5boot.jar;\j2ee\lib\j2ee.jar;\web
              > > > > logic\lib\servlet.jar;\weblogic\lib\jaxp.jar;\weblogic\lib\parser.jar
              > > > > CLASSPATH
              > > > > \weblogic\lib\weblogic510sp5boot.jar;\j2ee\lib\j2ee.jar;\web
              > > > >
              > >
              > logic\lib\servlet.jar;\weblogic\lib\jaxp.jar;\weblogic\lib\parser.jar;\weblo
              > > > > gic\
              > > > >
              > >
              > jre1_2\lib\tools.jar;\weblogic\jre1_2\jre\lib\rt.jar;\weblogic\jre1_2\jre\li
              > > > > b\i1
              > > > >
              > >
              > 8n.jar;C:\weblogic\license;C:\weblogic\classes\boot;C:\weblogic\classes;C:\w
              > > > > eblo
              > > > > gic\lib\weblogicaux.jar;C:\weblogic\eval\cloudscape\lib\cloudscape.jar
              > > > > JAVA_HOME \weblogic\jre1_2
              > > > > WEBLOGIC_LICENSEDIR C:\weblogic\license
              > > > > WEBLOGIC_HOME C:\weblogic
              > > > > system properties:
              > > > > java.security.manager
              > > > > java.security.policy=\weblogic\weblogic.policy
              > > > > weblogic.system.home=\weblogic
              > > > > java.compiler=symcjit
              > > > >
              > > > > weblogic.class.path=\weblogic\lib\weblogic510sp5.jar;\weblog
              > > > > ic\license;\weblogic\classes;\weblogic\lib\weblogicaux.jar
              > > > > INITIAL_HEAP 64 MB
              > > > > MAX_HEAP 64 MB
              > > > > SERVERCLASSPATH
              > > > > \weblogic\lib\weblogic510sp5boot.jar;\j2ee\lib\j2ee.jar;\web
              > > > >
              > >
              > logic\lib\servlet.jar;\weblogic\lib\jaxp.jar;\weblogic\lib\parser.jar;\weblo
              > > > > gic\
              > > > >
              > >
              > jre1_2\jre\lib\rt.jar;\weblogic\jre1_2\jre\lib\i18n.jar;C:\weblogic\classes\
              > > > > boot
              > > > > ;C:\weblogic\eval\cloudscape\lib\cloudscape.jar
              > > > >
              > > > > Type "wlconfig -help" for program usage.
              > > > >
              > > > > code:
              > > > >
              > > > > public void init() throws ServletException{
              > > > > try{
              > > > > Log.debug("in servlet.Webmedx.init");
              > > > > Properties h = new Properties();
              > > > > h.put(Context.INITIAL_CONTEXT_FACTORY,
              > > > > "weblogic.jndi.WLInitialContextFactory");
              > > > > h.put(Context.PROVIDER_URL, "t3://localhost:7001");
              > > > > Context initial = new InitialContext(h);
              > > > > Object objref = initial.lookup("webmedx/pool");
              > > > > webmedxpoolhome =
              > > > >
              > > > >
              > >
              > (WebmedxPoolHome)PortableRemoteObject.narrow(objref,WebmedxPoolHome.class);
              > > > > }catch(Exception ex){
              > > > > Log.error(ex);
              > > > > }
              > > > > }
              > > >
              > >
              > >
              

  • 11g preview version 3: JNDI Lookup problem when calling PL/SQL webservice

    Hi,
    I am experiencing a problem when calling a PL/SQL Webservice from a BPEL flow.
    When I am trying to test my BPEL flow from the SOA Console I get a "Error doing JNDI lookup on target jdbc/MyDBDS"
    The composite application including the BPEL flow is deployed in one application. "CompositeApp" and the web service in another Application called
    "WebServiceApp".
    Both applications are deployed on the same built in OC4J Application Server
    If I test the webservice in isolation from the SOA console it works. It also seems to be working if the webservice and the and the BPEL flow is in the same project.
    If anyone has any ideas on this one I would be very greatful.
    Thanks in advance

    try creating the MyDBDS connection as an application resource in both applications.

  • [svn] 4741: Fix to RTE problem when calling captureEndValues() without having first called captureStartValues().

    Revision: 4741
    Author: [email protected]
    Date: 2009-01-29 13:43:53 -0800 (Thu, 29 Jan 2009)
    Log Message:
    Fix to RTE problem when calling captureEndValues() without having first called captureStartValues(). outcome of a patch submission, although this fix is different than the one suggested in the patch.
    QE Notes: None
    Doc Notes: None
    Bugs: patch sdk-17060, bug sdk-16452
    Reviewer: Jason
    tests: checkintests, Mustella: tests/Effects tests/ListDataEffects
    Ticket Links:
    http://bugs.adobe.com/jira/browse/sdk-17060
    http://bugs.adobe.com/jira/browse/sdk-16452
    Modified Paths:
    flex/sdk/branches/3.x/frameworks/projects/framework/src/mx/effects/Effect.as

    Look for the "contact us" on the verizon pages.  http://www22.verizon.com/content/contactus/
    Almost all of the forums here are peer to peer.  Some verizon admins will occasionaly step in and try to get you help.  These admins are usually not able to solve problems for you themselves, but can sometimes give advise or get you in contact with someone who can.

  • Java.lang.SecurityException: [Security:090398]Invalid Subject: WEBLOGIC 9.1

    Hi
    I am getting this error when I am making an EJB method which resides in a different weblogic 9.1 server.
    I have enaled the trust between my two domains. Set the required class path settings.
    My client call is from a JSP , say client.jsp.
    Here I get remote object of the EJB and calls the required method
    Now
    1) My EJB calls are succesful when I DO NOT secure it
    2) but when I make it is secured , ie when I
    include the jsp in secured URL ie. under <security-constraint><url-pattern>client.jsp</> in web.xml
    , it gives me the follwing error
    The stack trace is given below
    java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[[email protected], ess, everyone]
    at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:191)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:315)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:250)
    at weblogic.jndi.internal.ServerNamingNode_910_WLStub.lookup(Unknown Source)
    at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:374)
    Truncated. see log file for complete stacktrace
    Any idea why it is ?
    Please let me know
    Thanks
    Binu
    Edited by binurajkr at 01/25/2008 4:36 AM

    Hi. Contact official BEA Support. This is likely
    to be a known issue with a patch available to fix it.
    Joe
    binu raj wrote:
    Hi
    I am getting this error when I am making an EJB method which resides in a different weblogic 9.1 server.
    I have enaled the trust between my two domains. Set the required class path settings.
    My client call is from a JSP , say client.jsp.
    Here I get remote object of the EJB and calls the required method
    Now
    1) My EJB calls are succesful when I DO NOT secure it
    2) but when I make it is secured , ie when I
    include the jsp in secured URL ie. under <security-constraint><url-pattern>client.jsp</> in web.xml
    , it gives me the follwing error
    The stack trace is given below
    java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[[email protected], ess, everyone]
    at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:191)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:315)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:250)
    at weblogic.jndi.internal.ServerNamingNode_910_WLStub.lookup(Unknown Source)
    at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:374)
    Truncated. see log file for complete stacktrace
    Any idea why it is ?
    Please let me know
    Thanks
    Binu
    Edited by binurajkr at 01/25/2008 4:36 AM

  • Java.lang.SecurityException: [Security:090398]Invalid Subject

    Hi
              I am getting this error when I am making an EJB method which resides in a different weblogic 9.1 server.
              I have enaled the trust between my two domains. Set the required class path settings.
              My client call is from a JSP , say client.jsp.
              Here I get remote object of the EJB and calls the required method
              Now
              1) My EJB calls are succesful when I DO NOT secure it
              2) but when I make it is secured , ie when I
              include the jsp in secured URL ie. under <security-constraint><url-pattern>client.jsp</> in web.xml
              , it gives me the follwing error
              The stack trace is given below
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[[email protected], ess, everyone]
              at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:191)
              at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:315)
              at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:250)
              at weblogic.jndi.internal.ServerNamingNode_910_WLStub.lookup(Unknown Source)
              at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:374)
              Truncated. see log file for complete stacktrace
              Any idea why it is ?
              Please let me know
              Thanks
              Binu

    I got this issue resolved by setting
              Context.SECURITY_PRINCIPAL, "" , before the RMI ejb call
              Binu

  • [Security:090398] Invalid Subject error in clustered deployment

    Hi,
              I have a simple Java client that calls an EJB which works fine when the EJB is deployed on a non-clustered server, but it fails intermittently with a [Security:090398]Invalid Subject: ... error when the EJB is deployed on a clustered server. Looking at the log files, it seems that one of the two servers in the cluster is throwing the exception consistently. I believe the servers are in the same domain, but since I've migrated the WL 6.1 config.xml file to 8.1 perhaps there is something I missed.
              Also, I noticed that the two servers in the cluster are able to see each other. The messages about the other node joining the cluster are in both logs.
              Here's the exception on the client side:
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[system]
                   at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
                   at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:284)
                   at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)
                   at com.kiodex.ejb.security.PrincipalOpsBean_21hnly_HomeImpl_813_WLStub.create(Unknown Source)
                   at com.kiodex.wlclient.WeblogicClusterClient.main(WeblogicClusterClient.java:41)
                   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:324)
                   at com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
              Caused by: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[system]
                   at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:680)
                   at weblogic.rjvm.MsgAbbrevInputStream.getSubject(MsgAbbrevInputStream.java:187)
                   at weblogic.rmi.internal.BasicServerRef.acceptRequest(BasicServerRef.java:827)
                   at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:300)
                   at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:996)
                   at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:917)
                   at weblogic.rjvm.ConnectionManagerServer.handleRJVM(ConnectionManagerServer.java:225)
                   at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:794)
                   at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:742)
                   at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:682)
                   at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:628)
                   at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:123)
                   at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)
                   at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
                   at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
              Here is the server-side exception:
              ####<Sep 17, 2004 4:44:17 PM EDT> <Warning> <RMI> <titanic> <titanic> <ExecuteThread: '0' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <BEA-080003> <RuntimeException thrown by rmi server:
              [email protected] - hostID: '2921525709399114632S:10.0.14.10:[23770,23770,-1,-1,-1,-1,-1,0,0]:hindenburg.nis.kiodex.com:23770,titanic.nis.kiodex.com:23770:RiskWorkbenc
              h:titanic', oid: '302', implementation: '[email protected]'
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[system].
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[system]
              at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:680)
              at weblogic.rjvm.MsgAbbrevInputStream.getSubject(MsgAbbrevInputStream.java:187)
              at weblogic.rmi.internal.BasicServerRef.acceptRequest(BasicServerRef.java:827)
              at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:300)
              at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:996)
              at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:917)
              at weblogic.rjvm.ConnectionManagerServer.handleRJVM(ConnectionManagerServer.java:225)
              at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:794)
              at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:742)
              at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:682)
              at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:628)
              at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:123)
              at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
              Any ideas?

    Hi Joshua,
              Make sure that
              a) Servers in the cluster are in the same domain;
              b) Server in the cluster are named differently.
              Also, check this:
              http://www.viewtier.com/newsgroups/thread.jspa?threadID=4&tstart=0
              http://support.bea.com/support_news/product_troubleshooting/Investigating_Domain_Trust_Issues_Pattern.html
              Regards,
              Slava Imeshev
              "Joshua Davis" <[email protected]> wrote in message news:[email protected]
              > Hi,
              >
              > I have a simple Java client that calls an EJB which works fine when the EJB is deployed on a non-clustered server, but it fails
              intermittently with a [Security:090398]Invalid Subject: ... error when the EJB is deployed on a clustered server. Looking at the
              log files, it seems that one of the two servers in the cluster is throwing the exception consistently. I believe the servers are
              in the same domain, but since I've migrated the WL 6.1 config.xml file to 8.1 perhaps there is something I missed.
              >
              > Also, I noticed that the two servers in the cluster are able to see each other. The messages about the other node joining the
              cluster are in both logs.
              >
              > Here's the exception on the client side:
              > java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[system]
              > at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
              > at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:284)
              > at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)
              > at com.kiodex.ejb.security.PrincipalOpsBean_21hnly_HomeImpl_813_WLStub.create(Unknown Source)
              > at com.kiodex.wlclient.WeblogicClusterClient.main(WeblogicClusterClient.java:41)
              > 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:324)
              > at com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
              > Caused by: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[system]
              > at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:680)
              > at weblogic.rjvm.MsgAbbrevInputStream.getSubject(MsgAbbrevInputStream.java:187)
              > at weblogic.rmi.internal.BasicServerRef.acceptRequest(BasicServerRef.java:827)
              > at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:300)
              > at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:996)
              > at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:917)
              > at weblogic.rjvm.ConnectionManagerServer.handleRJVM(ConnectionManagerServer.java:225)
              > at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:794)
              > at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:742)
              > at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:682)
              > at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:628)
              > at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:123)
              > at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
              >
              > Here is the server-side exception:
              >
              > ####<Sep 17, 2004 4:44:17 PM EDT> <Warning> <RMI> <titanic> <titanic> <ExecuteThread: '0' for queue: 'weblogic.socket.Muxer'>
              <<WLS Kernel>> <> <BEA-080003> <RuntimeException thrown by rmi server:
              > [email protected] - hostID:
              '2921525709399114632S:10.0.14.10:[23770,23770,-1,-1,-1,-1,-1,0,0]:hindenburg.nis.kiodex.com:23770,titanic.nis.kiodex.com:23770:RiskW
              orkbenc
              > h:titanic', oid: '302', implementation: '[email protected]'
              > java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[system].
              > java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[system]
              > at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:680)
              > at weblogic.rjvm.MsgAbbrevInputStream.getSubject(MsgAbbrevInputStream.java:187)
              > at weblogic.rmi.internal.BasicServerRef.acceptRequest(BasicServerRef.java:827)
              > at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:300)
              > at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:996)
              > at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:917)
              > at weblogic.rjvm.ConnectionManagerServer.handleRJVM(ConnectionManagerServer.java:225)
              > at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:794)
              > at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:742)
              > at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:682)
              > at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:628)
              > at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:123)
              > at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
              >
              > Any ideas?
              

  • Java.lang.SecurityException: [Security:090398]Invalid Subject - multithre..

    Hi
    I am getting java.lang.SecurityException: [Security:090398]Invalid Subject ... under the following scenario:
    - I have a simple dispatcher class which is starting a number of threads, every one of them sending messages to different Weblogic server.
    - The dispatcher class is a simple Java class, running from outside of Weblogic server; the authentication is done using the JNDI login.
    - The message sender threads create an InitialContext for each message being sent and the context is closed after succesfully sending the message.
    With just one message sender thread running, everything is OK.
    The problems appear when at least two threads run at the same time. What happens is that one of the threads sends messages successfully while the other ones fail with:
    java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[user1, role1, role2, role3, role4]
    at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
    at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:138)
    at weblogic.jms.dispatcher.DispatcherImpl_812_WLStub.dispatchSyncFuture(Unknown Source)
    at weblogic.jms.dispatcher.DispatcherWrapperState.dispatchSync(DispatcherWrapperState.java:339)
    at weblogic.jms.client.JMSConnection.createSessionInternal(JMSConnection.java:400)
    at weblogic.jms.client.JMSConnection.createTopicSession(JMSConnection.java:359)
    at com.delta.parser.test.TestMessageThread.sendMessage(TestMessageThread.java:54)
    at com.delta.parser.test.TestMessageThread.run(TestMessageThread.java:34)
    Caused by: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[user1, role1, role2, role3, role4]
    at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:682)
    at weblogic.rjvm.MsgAbbrevInputStream.getSubject(MsgAbbrevInputStream.java:182)
    at weblogic.rmi.internal.BasicServerRef.acceptRequest(BasicServerRef.java:825)
    at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:300)
    at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:923)
    at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:844)
    at weblogic.rjvm.ConnectionManagerServer.handleRJVM(ConnectionManagerServer.java:222)
    at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:794)
    at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:570)
    at weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:105)
    at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    The environment is Weblogic 8.1 (WebLogic Platform Developer license) running on Windows XP Professional.
    In the classpath I have the following weblogic jar files: weblogic.jar, wlclient.jar, wljmsclient.jar.
    The code that is generating the exceptions is:
    /****************** Dispatcher ************************/
    package test;
    public class TestThreadDispatcher {
    public TestThreadDispatcher() {
    public static void main(String[] args) {
    TestThreadDispatcher instance = new TestThreadDispatcher();
    instance.doTest();
    private void doTest() {
    TestMessageThread t1 = new TestMessageThread("weblogic.jndi.WLInitialContextFactory",
    "t3://pc10:7001",
    "user1",
    "passwd");
    t1.start();
    TestMessageThread t2 = new TestMessageThread("weblogic.jndi.WLInitialContextFactory",
    "t3://sjn:7001",
    "user1",
    "passwd");
    t2.start();
    TestMessageThread t3 = new TestMessageThread("weblogic.jndi.WLInitialContextFactory",
    "t3://pc99:7001",
    "user1",
    "passwd");
    t3.start();
    /****************** Message sender thread **************/
    package test;
    import java.util.*;
    import javax.jms.*;
    import javax.naming.*;
    import com.delta.parser.util.*;
    public class TestMessageThread extends Thread implements ParserConstants {
    private Hashtable environment;
    public TestMessageThread(String initialFactory,
    String url,
    String principal,
    String credentials) {
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY,
    initialFactory);
    env.put(Context.PROVIDER_URL,
    url);
    env.put(Context.SECURITY_PRINCIPAL,
    principal);
    env.put(Context.SECURITY_CREDENTIALS,
    credentials);
    environment = env;
    public void run() {
    int cnt = 0;
    while(true) {
    sendMessage("" + cnt++);
    try {
    sleep(500);
    } catch (InterruptedException iex) {
    private void sendMessage(String text) {
    try {
    Context ctx = new InitialContext(environment);
    TopicConnectionFactory factory = (TopicConnectionFactory)
    ctx.lookup("javax.jms.TopicConnectionFactory");
    TopicConnection connection = factory.createTopicConnection();
    TopicSession session = connection.createTopicSession(false,
    javax.jms.Session.AUTO_ACKNOWLEDGE);
    Topic topic = (Topic)ctx.lookup("FileTopic");
    TopicPublisher publisher = session.createPublisher(topic);
    TextMessage message = session.createTextMessage(text);
    publisher.publish(message);
    System.out.println("Message " + text + " sent to " +
    environment.get(Context.PROVIDER_URL));
    ctx.close();
    catch (JMSException jmsex) {
    jmsex.printStackTrace();
    catch (NamingException nex) {
    nex.printStackTrace();
    catch (SecurityException scex) {
    scex.printStackTrace();
    Any workarounds for this?
    BTW, I also tried using weblogic.jndi.Environment to obtain an InitialContext and wrapping the code inside thread's run() into Security.runAs(subject, new PrivilegedAction() { ....}, without success.
    Thanks in advance
    Mirel Rata

    Hi Kiran,
    Thank you for replying.
    Unfortunately the fix you suggested did not solve the problem. The server version I'm using is 8.1.
    The application I'm sending messages from is a standalone Java application, does not run from inside Weblogic server.
    Any thoughts?
    Regards,
    Mirel Rata

  • Java.lang.SecurityException: [Security:090398]Invalid Subject: admin

    I have a class that is used to check the status of all managed server in a domain. I use this class to check on the status of multiple domains.
    I have a for loop over all the domains and then invoke the method below, one for each domain (I instantiate the class anew for each domain)
    The 1st domain connects and returns the status properly. However on subsequent iterations thru the look I get the following SecuriyException below. I have tried a number of things such as setting MBeanHome to null etc but this error repeats anytime I connect to N+1 domains.
    Is there a fix for this.
    Note: I am using WLS 8.1 SP3 thru 5. And I know the username & pwd is correct cause I can connect using to the admin console using the same username & password and am part of the Administrators group.
    Exception on the client on N+1 connect attemp:
    java.lang.SecurityException: [Security:090398]Invalid Subject: admin
    at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.j
    ava:108)
    at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:137)
    at weblogic.management.internal.AdminMBeanHomeImpl_815_WLStub.getDomainN
    ame(Unknown Source)
    Exception on the server:
    ####<Mar 28, 2006 2:59:51 PM CST> <Warning> <RMI> <htx6056> <AdminServer> <Execu
    teThread: '2' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <BEA-080003>
    <RuntimeException thrown by rmi server: [email protected]
    2 - hostID: '-4547912678907759832S:htx6056.cce.hp.com:[10250,10250,10251,10251,1
    0250,10251,-1,0,0]:arc_prd1:AdminServer', oid: '258', implementation: 'weblogic.
    [email protected]'
    java.lang.SecurityException: [Security:090398]Invalid Subject: admin.
    java.lang.SecurityException: [Security:090398]Invalid Subject: admin
    The code:
    public void checkWebLogicServerState( String user, String pass, String url ) throws Exception {
              MBeanHome home = Helper.getAdminMBeanHome( user, pass, url );
              Set beans = home.getMBeansByType( "Server", home.getDomainName( ));
              for( Iterator iter = beans.iterator( ); iter.hasNext( );){
                   WebLogicMBean bean = (WebLogicMBean)iter.next( );
                   WebLogicObjectName objName = bean.getObjectName( );
                   String serverName = objName.getName( );
                   String location = objName.getLocation( );
                   ServerRuntimeMBean serverRuntimeMBean = null;
                   try {
                        serverRuntimeMBean = (ServerRuntimeMBean)home.getMBean( serverName, "ServerRuntime", home.getDomainName( ), serverName);
                        String state = serverRuntimeMBean.getState( );
                        System.out.println( "\t[" + serverName + "] IS " + state + "." );
                   } catch( Exception ex ) {
                        System.out.println( "\t[" + serverName + "] IS NOT RUNNING." );
         }

    I worked around the problem by removing the usage of the weblogic.management.Helper and using standard JNDI lookups instead.
    Clearly there is a bug in the Helper class that stores securtiy information in a static variable since it cannot be re used within the same JVM/Classloader without sharing the security information.
    Used instead:
                   Environment env = new Environment();
                   env.setProviderUrl( url );
                   env.setSecurityPrincipal( user );
                   env.setSecurityCredentials( pass );
                   Context ctx = env.getInitialContext( );
                   home = (MBeanHome)ctx.lookup( MBeanHome.ADMIN_JNDI_NAME );

  • Java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[

    HI,
    I am trying to monitor multiple weblogic servers, I am getting the exception when the program is trying to read multiple domains of the same weblogic server version 8.1.
    Can any one help me in getting this fix programatically using weblogic.management.*;
    I have searched all the sites where I got only a perticular solution which states to maintain the same domain level credentials.
    please reply me back if there is a programatical approach to fix this exception.
    The exception is given below:
    java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogic, Administrators]
         at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
         at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:138)
         at weblogic.management.internal.AdminMBeanHomeImpl_811_WLStub.getDomainName(Unknown Source)
         at MonitorServers.getDataWeblogic(MonitorServers.java:138)
         at MonitorServers.getServers(MonitorServers.java:89)
         at MonitorServers.main(MonitorServers.java:352)
    Caused by: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogic, Administrators]
         at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:682)
         at weblogic.rjvm.MsgAbbrevInputStream.getSubject(MsgAbbrevInputStream.java:181)
         at weblogic.rmi.internal.BasicServerRef.acceptRequest(BasicServerRef.java:814)
         at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:299)
         at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:920)
         at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:841)
         at weblogic.rjvm.ConnectionManagerServer.handleRJVM(ConnectionManagerServer.java:222)
         at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:794)
         at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:570)
         at weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:105)
         at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    Thanks in advance

    Hi,
    I think that if you don't specify the credentials, the current one will be used to connect to the server.
    Try to specify the guest identity by explicitely adding the following properties to override the current identity
                   properties.put(Context.SECURITY_PRINCIPAL, "");
    properties.put(Context.SECURITY_CREDENTIALS, "");
    Otherwise you will need to setup a trust between the servers.
    I Hope this helps.
    Giorgio Anastopoulos

  • Security 090398 Invalid Subject and TOPLINK-4002 error.

    Hi,
    I am running a soa application with SOA 11g and keep getting below exceptions from soa weblogic admin console. I can still run the application but don't know how to clean the error. any suggestions how to fix the issue? Thanks in advance.
    Call: SQLCall(INSERT INTO COMPOSITE_INSTANCE_FAULT (ID, COMPOSITE_INSTANCE_ID, B
    R_CATEGORY, UNIQUE_ID, BINDING_TYPE, CPST_PARTITION_DATE) VALUES (?, ?, ?, ?, ?,
    Query: InsertObjectQuery(oracle.integration.platform.instance.CompositeInstanceF
    [TopLink Warning]: 2011.07.26 16:17:05.729--ClientSession(99855179)--Exception [
    Internal Exception: java.sql.SQLException: java.lang.SecurityException: [Securit
    Error Code: 0
    ####<Jul 26, 2011 3:38:07 PM EDT> <Error> <oracle.integration.platform.instance> <DRSSBRA2913> <AdminServer> <[email protected]> <Tksmau5l3NSXhDfOeb7L7ubmyW6lsKrbQVo8ckt0> <> <e893b723eb6fbe4f:-3bb14c3b:13157b3753d:-8000-000000000001b6fa> <1311709087384> <BEA-000000> <oracle.integration.platform.instance.store.DOStore$RetryableException: Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.4.0) (Build 101210)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[Tksmau5l3NSXhDfOeb7L7ubmyW6lsKrbQVo8ckt0]
    Error Code: 0
         at oracle.integration.platform.instance.store.DOStore.put(DOStore.java:179)
         at oracle.integration.platform.instance.error.DOObjectExceptionHandler.recover(DOObjectExceptionHandler.java:41)
         at oracle.integration.platform.instance.error.FileBackedExceptionHandler.recoverObjects(FileBackedExceptionHandler.java:309)
         at oracle.integration.platform.instance.error.FileBackedExceptionHandler.recover(FileBackedExceptionHandler.java:301)
         at oracle.integration.platform.instance.error.FileBackedExceptionHandler.run(FileBackedExceptionHandler.java:355)
         at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:120)
         at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183)
         at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
    Caused by: Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.4.0) (Build 101210)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[Tksmau5l3NSXhDfOeb7L7ubmyW6lsKrbQVo8ckt0]
    Error Code: 0
         at oracle.toplink.exceptions.DatabaseException.sqlException(DatabaseException.java:282)
         at oracle.toplink.jndi.JNDIConnector.connect(JNDIConnector.java:128)
         at oracle.toplink.jndi.JNDIConnector.connect(JNDIConnector.java:84)
         at oracle.toplink.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:153)
         at oracle.toplink.internal.databaseaccess.DatasourceAccessor.connectInternal(DatasourceAccessor.java:273)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.connectInternal(DatabaseAccessor.java:231)
         at oracle.toplink.internal.databaseaccess.DatasourceAccessor.reconnect(DatasourceAccessor.java:478)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.reconnect(DatabaseAccessor.java:1347)
         at oracle.toplink.internal.databaseaccess.DatasourceAccessor.incrementCallCount(DatasourceAccessor.java:251)
         at oracle.toplink.internal.databaseaccess.DatasourceAccessor.rollbackTransaction(DatasourceAccessor.java:580)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.rollbackTransaction(DatabaseAccessor.java:1406)
         at oracle.toplink.internal.sessions.AbstractSession.basicRollbackTransaction(AbstractSession.java:369)
         at oracle.toplink.threetier.ClientSession.basicRollbackTransaction(ClientSession.java:135)
         at oracle.toplink.internal.sessions.AbstractSession.rollbackTransaction(AbstractSession.java:3003)
         at oracle.toplink.internal.sessions.UnitOfWorkImpl.rollbackTransaction(UnitOfWorkImpl.java:4486)
         at oracle.toplink.internal.sessions.UnitOfWorkImpl.rollbackTransaction(UnitOfWorkImpl.java:4507)
         at oracle.toplink.internal.sessions.UnitOfWorkImpl.commitToDatabase(UnitOfWorkImpl.java:1384)
         at oracle.toplink.internal.sessions.UnitOfWorkImpl.commitToDatabaseWithChangeSet(UnitOfWorkImpl.java:1427)
         at oracle.toplink.internal.sessions.UnitOfWorkImpl.commitRootUnitOfWork(UnitOfWorkImpl.java:1173)
         at oracle.toplink.internal.sessions.UnitOfWorkImpl.commit(UnitOfWorkImpl.java:945)
         at oracle.integration.platform.instance.store.DOStore.put(DOStore.java:176)
         at oracle.integration.platform.instance.error.DOObjectExceptionHandler.recover(DOObjectExceptionHandler.java:40)
         at oracle.integration.platform.instance.error.FileBackedExceptionHandler.recoverObjects(FileBackedExceptionHandler.java:308)
         ... 5 more
    Caused by: java.sql.SQLException: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[Tksmau5l3NSXhDfOeb7L7ubmyW6lsKrbQVo8ckt0]
         at weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:259)
         at weblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiDataSource.java:352)
         at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:369)
         at oracle.toplink.jndi.JNDIConnector.connect(JNDIConnector.java:123)
         ... 26 more
    Caused by: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[Tksmau5l3NSXhDfOeb7L7ubmyW6lsKrbQVo8ckt0]
         at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:833)
         at weblogic.security.service.IdentityUtility.authenticatedSubjectToIdentity(IdentityUtility.java:30)
         at weblogic.security.service.RoleManager.getRoles(RoleManager.java:183)
         at weblogic.security.service.AuthorizationManager.isAccessAllowed(AuthorizationManager.java:375)
         at weblogic.jdbc.common.internal.JDBCUtil.checkPermission(JDBCUtil.java:231)
         at weblogic.jdbc.common.internal.ConnectionPool.doAuthorizationCheck(ConnectionPool.java:443)
         at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:344)
         at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:324)
         at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:94)
         at weblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiDataSource.java:350)
         at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:369)
         at oracle.toplink.jndi.JNDIConnector.connect(JNDIConnector.java:123)
         at oracle.toplink.jndi.JNDIConnector.connect(JNDIConnector.java:84)
         at oracle.toplink.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:153)
         at oracle.toplink.internal.databaseaccess.DatasourceAccessor.connectInternal(DatasourceAccessor.java:273)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.connectInternal(DatabaseAccessor.java:231)
         at oracle.toplink.internal.databaseaccess.DatasourceAccessor.reconnect(DatasourceAccessor.java:478)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.reconnect(DatabaseAccessor.java:1348)
         at oracle.toplink.internal.databaseaccess.DatasourceAccessor.incrementCallCount(DatasourceAccessor.java:251)
         at oracle.toplink.internal.databaseaccess.DatasourceAccessor.rollbackTransaction(DatasourceAccessor.java:580)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.rollbackTransaction(DatabaseAccessor.java:1407)
         at oracle.toplink.internal.sessions.AbstractSession.basicRollbackTransaction(AbstractSession.java:369)
         at oracle.toplink.threetier.ClientSession.basicRollbackTransaction(ClientSession.java:135)
         at oracle.toplink.internal.sessions.AbstractSession.rollbackTransaction(AbstractSession.java:3003)
         at oracle.toplink.internal.sessions.UnitOfWorkImpl.rollbackTransaction(UnitOfWorkImpl.java:4487)
         at oracle.toplink.internal.sessions.UnitOfWorkImpl.rollbackTransaction(UnitOfWorkImpl.java:4508)
         at oracle.toplink.internal.sessions.UnitOfWorkImpl.commitToDatabase(UnitOfWorkImpl.java:1385)
         at oracle.toplink.internal.sessions.UnitOfWorkImpl.commitToDatabaseWithChangeSet(UnitOfWorkImpl.java:1427)
         at oracle.toplink.internal.sessions.UnitOfWorkImpl.commitRootUnitOfWork(UnitOfWorkImpl.java:1173)
         at oracle.toplink.internal.sessions.UnitOfWorkImpl.commit(UnitOfWorkImpl.java:945)
         at oracle.integration.platform.instance.store.DOStore.put(DOStore.java:176)
         at oracle.integration.platform.instance.error.DOObjectExceptionHandler.recover(DOObjectExceptionHandler.java:41)
         at oracle.integration.platform.instance.error.FileBackedExceptionHandler.recoverObjects(FileBackedExceptionHandler.java:309)
         ... 5 more
    >
    Regards,
    Kelvin.

    I had the same issue, it got resolved after closing the Context in finally block

  • Security Problem when Access Other File types

    we have report files in pdf and excel that generated from java.
    we then call this file from browser through URL :http://java1.sdc-net/msp/excel/result/workbook.xls.
    this just work fine, but when we implement j2ee declarative security constraint (we use custom jdbc realms):
    <security-constraint>
    <web-resource-collection>
    <web-resource-name>root</web-resource-name>
    <url-pattern>/index.htm</url-pattern>
    </web-resource-collection>
    <auth-constraint>
    <role-name>user</role-name>
    <role-name>master</role-name>
    </auth-constraint>
    </security-constraint>
    its didn't work anymore.
    the jsp's and servlet just work fine. but the others (pdf and excel) didn't work.
    am i missed something ?

    Hi ,
    What kind of errors are you getting ?.Do you able to login without any problem ?.Could you enable the log level in security to FINEST and set the Audit enabled to true and run the application. It will tell you what's going wrong.
    Let us know the result and please post the logs.
    --Sankar                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

Maybe you are looking for

  • IPhoto is changing the sequence of the photos I have in my file for the book I want to create. Help?

    iPhoto is changing the sequence of the photos I have in my file for the book I want to create. Help?

  • Advanced External Monitor Functions?

    I'm trying to run a seamless slideshow (similar to how Preview runs) on an external monitor. However, I need to be able to add files as time passes, without interupting the seamless show. I need to either maintain control of the desktop while a slide

  • Best system for FCP 7?

    Hi, I am in the position to upgrade some of my Mac components. I will be upfront at the outset and confess I have a Core i7 Hackintosh running at 3.8 GHz with a Radeon 4870 1Gb, and 12 GB of RAM. I have a 60GB SSD as a boot and app drive, plus a 1TB

  • SQLLDR: "second enclosure string not present" error in a complex datafile

    Hello, We are in 11g. I have a strange issue when I load data. I cannot figure out why sqlldr reacts in this way : Here is the table definition: create table IMPORT_SFEE_TRACKER_GENERIC PROJET_CODE VARCHAR2(50), TRACKER_ID VARCHAR2(50), TRACKER_TYPE

  • Hiding the actual hyperlink in Smartform

    Hi,     I have added the hyperlink in the smartform and it is working fine. The user does not want to see the actual hyperlink and want to see a generic text. In HTML,it is simple and any idea, how it is possible in Smartform?