Chris,

Actually Adam is totally correct. I reviewed the packaging for ADFFaces 10.l.3.2. I thought the ADFFacesDatabindingFilter was seperate from ADFFaces, but it's not. Sorry. To use Trinidad with ADFm, you'll need to use JDEV 11, the ADFFaces Richclient, and the ADFFaces Databinding.

Scott

Adam Winer wrote:
Chris,

I can tell you that Trinidad and ADF Faces 10.1.3 cannot
be used in the same application (mostly because their
heritage is so shared that they step on each other).

However, your stack trace doesn't appear to have a any
org.apache code on it, and the configuration files
you list can't possibly match up to the stack trace here.
For example, the stack trace has ADFBindingFilter
and AdfFacesFilter, but the web.xml you list
has TrinidadFilter only (with ADFBindingFilter commented
out).

To the extent that you're getting problems in
oracle.adf.model.portlet.binding.PortletBindingException,
I think that OTN or Oracle support would be better
resources than this list...  For Trinidad portlet deployment,
Scott O'Bryan could probably help out here on this list.

-- Adam


On 5/20/07, Innes, Chris <[EMAIL PROTECTED]> wrote:

Greetings,

I was wondering if I could leverage some knowledge / experiences out there
regarding exposing a Trinidad JSF app as a Portlet within JDeveloper
10.1.3.2 & the pre-configured Webcenter OC4J.

I was easily able to expose a Sun Reference Implementation JSF application
as a Portlet, using the Faces Portlet Bridge, and then consume using a
Webcenter page and Portlet producer.  However, when I try this with the
Trinidad App (no matter how trivial), I experience the exception listed at
the bottom of this e-mail when attempting to consume it.

For both the Sun RI & Trinidad JSF apps I followed the same process to
expose (as documented on the Oracle Web Center site):

-       Add the Portlet Faces Bridge library to each of the apps

- Create the Portlet.xml deployment descriptor and make the necessary
modifications

-       Modify the web.xml file

-       Deploy apps to the WebCenter preconfigured OC4J

- Create a WebCenter application, register the Portlet producers and
consume



For both apps, I can view the wsrp WSDL and all Portlet registrations test
successfully.  I can run them as straight JSF apps without any problems.
So, I'm not sure where to go from here.  I have read a couple of forum
entries for this particular exception, and they suggest increasing the
Portlet producer timeout durations, but this has not seemed to help.

Interestingly, after some experimentation I can trigger the error on a Sun RI app by just adding the Trinidad libraries to the project (not using any
of the components) which makes me think there is some kind of
incompatibility.



Does anybody have any thoughts as to where the issue might lay?  Is it
likely on the consumption side or something to do with the Portlet
deployment?  Does the preconfigured WebCenter OC4J support Trinidad?  I
remember reading somewhere that Trinidad and ADF Faces don't mix very well and to consume the Portlets I think you need to use an ADF Portlet library.
I am planning to stand up a complete Oracle Portal stack to test the
producers also, but haven't got that far yet.

Thanks in advance,

Here is the exception received when trying to consume the portlet:



SEVERE:
oracle.adf.model.portlet.binding.PortletBindingException:
Unable to get portlet response (Internal Error) for portlet binding
ReallyEasyDemoPortlet1_1

        at
oracle.adf.model.portlet.binding.PortletBinding.getPortletRendition(PortletBinding.java:514)

        at
oracle.adfinternal.view.faces.renderkit.html.portlet.PortletRenderer.preRender(PortletRenderer.java:417)

        at
oracle.adfinternal.view.faces.renderkit.html.customizable.ShowDetailFrameRenderer.encodeBegin(ShowDetailFrameRenderer.java:227)

        at
oracle.adf.view.faces.component.UIXComponentBase.encodeBegin(UIXComponentBase.java:593)

        at
oracle.adfinternal.view.faces.renderkit.RenderUtils.encodeRecursive(RenderUtils.java:39)

        at
oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeChild(CoreRenderer.java:242)

        at
oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeAllChildren(CoreRenderer.java:265)

        at
oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelPartialRootRenderer.renderContent(PanelPartialRootRenderer.java:65)

        at
oracle.adfinternal.view.faces.renderkit.core.xhtml.BodyRenderer.renderContent(BodyRenderer.java:117)

        at
oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelPartialRootRenderer.encodeAll(PanelPartialRootRenderer.java:147)

        at
oracle.adfinternal.view.faces.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:60)

        at
oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeEnd(CoreRenderer.java:169)

        at
oracle.adf.view.faces.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:624)

        at
javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:645)

        at
javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:568)

        at
oracle.adf.view.faces.webapp.UIXComponentTag.doEndTag(UIXComponentTag.java:100)

        at
_mdssys._viewcontroller._public__html._untitled1_jspx._jspService(_untitled1_jspx.java:103)

        at
com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)

        at
oracle.jsp.runtimev2.JspPageTable.compileAndServe(JspPageTable.java:724)

        at
oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:414)

        at
oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:598)

        at
oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:522)

        at
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

        at
com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)

        at oracle.mds.jsp.MDSJSPFilter.doFilter(Unknown
Source)

        at
com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:622)

        at
com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:369)

        at
com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:286)

        at
com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:50)

        at
com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:192)

        at
oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)

        at
com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:197)

        at
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346)

        at
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152)

        at
oracle.adfinternal.view.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:157)

        at
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)

        at
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)

        at
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)

        at
javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)

        at
com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)

        at
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:228)

        at
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:197)

        at
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:123)

        at
oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103)

        at
com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)

        at
oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162)

        at
com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:620)

        at
com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:369)

        at
com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:865)

        at
com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:447)

        at
com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:215)

        at
com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)

        at
com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)

        at
oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)

        at
oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)

        at
oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)

        at
oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)

        at
com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:298)

        at java.lang.Thread.run(Thread.java:595)

Caused by:
oracle.portlet.client.container.PortletRemoteException:
oracle.portlet.server.container.OperationFailedException:
oracle.portlet.wsrp.v1.OperationFailedException:
oracle.portlet.wsrp.v1.soap.OperationFailed

        at
oracle.portlet.client.techimpl.wsrp.WSRPBaseTerminalPipe.processException(WSRPBaseTerminalPipe.java:37)

        at
oracle.portlet.client.techimpl.wsrp.WSRPGetMarkupPipe.execute(WSRPGetMarkupPipe.java:185)

        at
oracle.portlet.client.techimpl.wsrp.WSRPGetMarkupPipe.pre(WSRPGetMarkupPipe.java:52)

        at
oracle.portlet.client.service.pipeline.PipeContext.internalExecute2(PipeContext.java:516)

        at
oracle.portlet.client.service.pipeline.PipeContext.internalExecute(PipeContext.java:403)

        at
oracle.portlet.client.service.pipeline.PipeContextRunnable.run(PipeContextRunnable.java:24)

        at
edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:431)

        at
edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)

        at
oracle.portlet.client.service.pipeline.ModifiedThreadPoolExecutor$Worker.runTask(ModifiedThreadPoolExecutor.java:398)

        at
oracle.portlet.client.service.pipeline.ModifiedThreadPoolExecutor$Worker.run(ModifiedThreadPoolExecutor.java:423)

        ... 1 more

Caused by:
oracle.portlet.server.container.OperationFailedException:
oracle.portlet.wsrp.v1.OperationFailedException:
oracle.portlet.wsrp.v1.soap.OperationFailed

        at
oracle.portlet.wsrp.v1.ServerToWSRPv1.getMarkup(ServerToWSRPv1.java:1093)

        at
oracle.portlet.client.connection.wsrp.ActivityServerWrapper.getMarkup(ActivityServerWrapper.java:1330)

        at
oracle.portlet.client.techimpl.wsrp.WSRPGetMarkupPipe.execute(WSRPGetMarkupPipe.java:116)

        ... 9 more

Caused by: oracle.portlet.wsrp.v1.OperationFailedException:
oracle.portlet.wsrp.v1.soap.OperationFailed

        at
oracle.portlet.wsrp.v1.WSRP_v1_Markup_PortTypeJaxbToSoap.getMarkup(WSRP_v1_Markup_PortTypeJaxbToSoap.java:101)

        at
oracle.portlet.wsrp.v1.ServerToWSRPv1.getMarkup(ServerToWSRPv1.java:977)

        ... 11 more

Caused by: oracle.portlet.wsrp.v1.soap.OperationFailed

        at
oracle.portlet.wsrp.v1.soap.runtime.WSRP_v1_Markup_PortType_getMarkup_Fault_SOAPSerializer.deserializeDetail(WSRP_v1_Markup_PortType_getMarkup_Fault_SOAPSerializer.java:269)

        at
oracle.j2ee.ws.common.encoding.SOAPFaultInfoSerializer.doDeserializeSOAP11(SOAPFaultInfoSerializer.java:132)

        at
oracle.j2ee.ws.common.encoding.SOAPFaultInfoSerializer.doDeserialize(SOAPFaultInfoSerializer.java:94)

        at
oracle.j2ee.ws.common.encoding.ObjectSerializerBase.deserialize(ObjectSerializerBase.java:180)

        at
oracle.j2ee.ws.common.encoding.ReferenceableSerializerImpl.deserialize(ReferenceableSerializerImpl.java:147)

        at
oracle.portlet.wsrp.v1.soap.runtime.WSRP_v1_Markup_Binding_SOAP_Stub._readBodyFaultElement(WSRP_v1_Markup_Binding_SOAP_Stub.java:456)

        at
oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:321)

        at
oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:112)

        at
oracle.portlet.wsrp.v1.soap.runtime.WSRP_v1_Markup_Binding_SOAP_Stub.getMarkup(WSRP_v1_Markup_Binding_SOAP_Stub.java:76)

        at
oracle.portlet.wsrp.v1.WSRP_v1_Markup_PortTypeJaxbToSoap.getMarkup(WSRP_v1_Markup_PortTypeJaxbToSoap.java:78)

        ... 12 more

Portlet.xml



<?xml version="1.0" encoding="ISO-8859-1"?>

 <portlet-app
xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";

   version="1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";


xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd


http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";>

   <portlet>

     <description>Really Easy Demo Portlet</description>

     <portlet-name>ReallyEasyDemo</portlet-name>

     <display-name>Really Easy Demo portlet</display-name>


<portlet-class>oracle.portlet.server.bridges.jsf.FacesPortlet

      </portlet-class>

    <init-param>

     <name>DefaultPage.view</name>

     <value>/hello.jspx</value>

    </init-param>

    <init-param>

     <name>BridgeLifecycleListeners</name>

      <value>


oracle.portlet.server.bridges.jsf.adf.ADFFacesBridgeLifecycleListener

      </value>

    </init-param>

    <supports>

     <mime-type>text/html</mime-type>

     <portlet-mode>VIEW</portlet-mode>

    </supports>

    <supported-locale>en</supported-locale>

    <portlet-info>

     <title>Really Easy Demo Portlet</title>

     <short-title>ReallyEasyDemo</short-title>

    </portlet-info>

   </portlet>

 </portlet-app>

Web.xml

<?xml version = '1.0' encoding = 'ISO-8859-1'?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";
version="2.4">

<context-param>

  <param-name>javax.faces.STATE_SAVING_METHOD</param-name>

  <param-value>server</param-value>

  <!--param-value>server</param-value-->

</context-param>

<context-param>


<param-name>org.apache.myfaces.trinidad.USE_APPLICATION_VIEW_CACHE</param-name>

  <param-value>false</param-value>

</context-param>

<!--<filter>

<filter-name>adfBindings</filter-name>

<filter-class>oracle.adf.model.servlet.ADFBindingFilter</filter-class>

</filter>

-->

<context-param>


<param-name>org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION</param-name>

  <param-value>true</param-value>

</context-param>

<context-param>


<param-name>org.apache.myfaces.trinidad.CHANGE_PERSISTENCE</param-name>

  <param-value>session</param-value>

</context-param>

<filter>

  <filter-name>trinidad</filter-name>


<filter-class>org.apache.myfaces.trinidad.webapp.TrinidadFilter</filter-class>

</filter>

<filter-mapping>

  <filter-name>trinidad</filter-name>

  <servlet-name>faces</servlet-name>

</filter-mapping>

<servlet>

  <servlet-name>faces</servlet-name>

  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>

</servlet>

<servlet>

  <servlet-name>resources</servlet-name>


<servlet-class>org.apache.myfaces.trinidad.webapp.ResourceServlet</servlet-class>

</servlet>

<servlet-mapping>

  <servlet-name>faces</servlet-name>

  <url-pattern>/faces/*</url-pattern>

</servlet-mapping>

<servlet-mapping>

  <servlet-name>resources</servlet-name>

  <url-pattern>/adf/*</url-pattern>

</servlet-mapping>

</web-app>



Faces-config.xml

<?xml version="1.0"?>

<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer
Faces Config 1.0//EN"

"http://java.sun.com/dtd/web-facesconfig_1_0.dtd"; >

<faces-config>

  <application>

    <default-render-kit-id>

      org.apache.myfaces.trinidad.core

    </default-render-kit-id>

  </application>

</faces-config>



Chris.




Reply via email to