[JBoss JIRA] Created: (JBAS-4303) Web session is empty when forwarding request to another web context.
by Penkov Vladimir (JIRA)
Web session is empty when forwarding request to another web context.
--------------------------------------------------------------------
Key: JBAS-4303
URL: http://jira.jboss.com/jira/browse/JBAS-4303
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Web (Tomcat) service
Affects Versions: JBossAS-4.0.4.GA
Environment: Fedora Core 6
Reporter: Penkov Vladimir
Assigned To: Remy Maucherat
I have following in web.xml:
=====================
<servlet>
<servlet-name>Redirector</servlet-name>
<servlet-class>web.servlet.Redirector</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Redirector</servlet-name>
<url-pattern>/redirect.do</url-pattern>
</servlet-mapping>
<error-page>
<error-code>404</error-code>
<location>/redirect.do</location>
</error-page>
=====================
It is located in /deploy/web.jar. It is deployed under / context.
My jsp are in dir: /deploy/resources.war/, deployed under /resources.
In Redirector I do:
==============
String url = (String) request.getAttribute("javax.servlet.error.request_uri");
String contextPath = (String) context.getAttribute("/resources");
ServletContext c = context.getContext(contextPath);
RequestDispatcher disp = c.getRequestDispatcher(url);
disp.forward(request, response);
==============
So now I can reach my jsp in another context.
In servlet Login I do:
=============
ClientManager manager = new ClientManager();
Client client = manager.findClientByLogin(login);
if (client!=null && client.getPassword().equals(password)) {
request.getSession().setAttribute(CLIENT_KEY, client);
}
response.sendRedirect("/private/index.jsp");
=============
in /deploy/resources.war/private/index.jsp I have:
================
<%
Enumeration e = request.getSession().getAttributeNames();
System.out.println("element names:");
while (e.hasMoreElements()) {
System.out.println("e.nextElement() = " + e.nextElement());
}
%>
================
And I recieve no elements in session.
Variables, sent in the request attributes, are accessible fine.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 8 months
[JBoss JIRA] Created: (JBWEB-77) Servlet throws NPE the first time it is hit.
by Phillip Thurmond (JIRA)
Servlet throws NPE the first time it is hit.
--------------------------------------------
Key: JBWEB-77
URL: http://jira.jboss.com/jira/browse/JBWEB-77
Project: JBoss Web
Issue Type: Bug
Security Level: Public (Everyone can see)
Reporter: Phillip Thurmond
Assigned To: Mladen Turk
Priority: Blocker
The first time a servlet is hit, it throws a NPE. After the exception is thrown, the servlet works correctly. Here is the stack trace. Example war attached.
java.lang.NullPointerException
at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:471)
at org.apache.catalina.connector.CoyoteOutputStream.print(CoyoteOutputStream.java:113)
at test.TestServlet.doGet(TestServlet.java:67)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:624)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:595)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 8 months
[JBoss JIRA] Created: (JBAS-4293) Should not throw TransactionRolledbackException when the transaction is rolled back because of setRollbackOnly invocation
by Vladimir Piskarev (JIRA)
Should not throw TransactionRolledbackException when the transaction is rolled back because of setRollbackOnly invocation
-------------------------------------------------------------------------------------------------------------------------
Key: JBAS-4293
URL: http://jira.jboss.com/jira/browse/JBAS-4293
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: EJB2
Affects Versions: JBossAS-4.0.5.GA, JBossAS-4.0.4.GA
Reporter: Vladimir Piskarev
Assigned To: Scott M Stark
According to 18.3.9 of EJB 2.1 spec "the container should not throw the java.rmi.RemoteException or javax.ejb.EJBException if the container performs a transaction rollback because the instance has invoked the setRollbackOnly method on its EJBContext object. In this case, the container must rollback the transaction and pass the business method result or the application exception thrown by the business method to the client.". Also 17.6.2.8 says "If the container initiated the transaction immediately before dispatching the business method to the instance (as opposed to the transaction being inherited from the caller), the container must note that the instance has invoked the setRollbackOnly method. When the business method invocation completes, the container must roll back rather than commit the transaction. If the business method has returned normally or with an application exception, the container must pass the method result or the application exception to the client after the container performed the rollback.".
However, if exception-on-rollback is true, JBoss EJB Container throws the TransactionRolledbackException when the transaction should be rolled back because of the setRollbackOnly invocation. This clearly violates the EJB spec requirements mentioned above. It seems that the TxInterceptorCMT.checkTransactionStatus method should not throw the exception when the transaction status is STATUS_MARKED_ROLLBACK.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 8 months
[JBoss JIRA] Created: (JBREM-728) Improve access to HTTP response headers
by Thomas Diesler (JIRA)
Improve access to HTTP response headers
---------------------------------------
Key: JBREM-728
URL: http://jira.jboss.com/jira/browse/JBREM-728
Project: JBoss Remoting
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Affects Versions: 2.2.0.Alpha7
Reporter: Thomas Diesler
Assigned To: Tom Elrod
JAXWS needs access to the HTTP response headers
/**
* Standard property: HTTP response headers.
* <p>Type: java.util.Map<java.lang.String, java.util.List<java.lang.String>>
*/
public static final String HTTP_RESPONSE_HEADERS = "javax.xml.ws.http.response.headers";
Currently remoting copies these headers to the metadata and I can access them doing a little guess work like this
// Get the HTTP response headers
Map<String, List> headers = new HashMap<String, List>();
for (Map.Entry en : msgContext.entrySet())
{
if (en.getKey() instanceof String && en.getValue() instanceof List)
headers.put((String)en.getKey(), (List)en.getValue());
}
msgContext.put(MessageContext.HTTP_RESPONSE_HEADERS, headers);
I suggest remoting copies the concept of accessing the headers through a single property
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 8 months