Author: chris.laprun(a)jboss.com
Date: 2007-02-23 14:21:29 -0500 (Fri, 23 Feb 2007)
New Revision: 6386
Modified:
trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/MarkupHandler.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/ServiceDescriptionHandler.java
Log:
- JBPORTAL-1220: force call to initCookie for BEA version < 9.2 to behave properly as a
consumer.
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/MarkupHandler.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/MarkupHandler.java 2007-02-23
19:16:55 UTC (rev 6385)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/MarkupHandler.java 2007-02-23
19:21:29 UTC (rev 6386)
@@ -56,6 +56,7 @@
import org.jboss.portal.wsrp.core.UnsupportedWindowStateFault;
import org.jboss.portal.wsrp.core.UploadContext;
import org.jboss.portal.wsrp.core.WSRP_v1_Markup_PortType;
+import org.jboss.portal.wsrp.servlet.ServletAccess;
import javax.portlet.PortletModeException;
import javax.portlet.WindowStateException;
@@ -87,7 +88,6 @@
OperationFailedFault, MissingParametersFault, InvalidUserCategoryFault,
InvalidRegistrationFault,
UnsupportedMimeTypeFault, RemoteException
{
-
WSRPUtils.throwOperationFailedFaultIfValueIsMissing(getMarkup, GET_MARKUP);
RequestProcessor requestProcessor = new RenderRequestProcessor(producer,
getMarkup);
@@ -164,7 +164,12 @@
WSRPUtils.throwOperationFailedFaultIfValueIsMissing(initCookie,
"InitCookie");
producer.checkRegistration(initCookie.getRegistrationContext());
- return new ReturnAny(); // todo: implement when actually needed
+ // Force HTTP session creation... this is required for BEA Weblogic version <
9.2.
+ // See
http://jira.jboss.com/jira/browse/JBPORTAL-1220
+ String sessionId = ServletAccess.getRequest().getSession().getId();
+ log.debug("Got init cookie operation, created a session with id " +
sessionId);
+
+ return new ReturnAny();
}
static void throwOperationFaultOnSessionOperation() throws OperationFailedFault
Modified:
trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/ServiceDescriptionHandler.java
===================================================================
---
trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/ServiceDescriptionHandler.java 2007-02-23
19:16:55 UTC (rev 6385)
+++
trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/ServiceDescriptionHandler.java 2007-02-23
19:21:29 UTC (rev 6386)
@@ -67,6 +67,9 @@
private final Logger log = Logger.getLogger(getClass());
+ // JBPORTAL-1220: force call to initCookie... Required so that BEA version < 9.2
will behave properly as a Consumer
+ private final CookieProtocol BEA_8_CONSUMER_FIX = CookieProtocol.perUser;
+
ServiceDescriptionHandler(WSRPProducerImpl producer)
{
super(producer);
@@ -138,7 +141,7 @@
ProducerRegistrationRequirements requirements =
producer.getProducerRegistrationRequirements();
// should we be sending the registration properties description as well?
ServiceDescription serviceDescription =
WSRPTypeFactory.createServiceDescription(requirements.requiresRegistration());
- serviceDescription.setRequiresInitCookie(CookieProtocol.none);
+ serviceDescription.setRequiresInitCookie(BEA_8_CONSUMER_FIX);
PortletDescription[] descriptions = getPortletDescriptions(desiredLocales);
serviceDescription.setOfferedPortlets(descriptions);
return serviceDescription;
@@ -177,7 +180,7 @@
description = WSRPUtils.convertRegistrationPropertiesToModelDescription(info);
}
- return new ServiceDescription(true, offeredPortlets, null, null, null, null,
CookieProtocol.none,
+ return new ServiceDescription(true, offeredPortlets, null, null, null, null,
BEA_8_CONSUMER_FIX,
description, producer.getSupportedLocales(), null, null);
}