Query regarding remote Portlets

Let me explain my scenario,
I have a WLP 8.1 sp6 portal domain. This domain contain 1 J2ee application, 1 WLP Producer application and 1 WLP Consumer Application.
I have a Custom Realm created, which contains a couple of custom Authenticators.
All three applications are configured to use the custom realm and custom authenticators. The authentication mechanism in each of these applications is form based.
The J2ee application is responsible in providing for the required HTML markup.
So my WLP Producer talks to the J2ee application to retrieve the desired markup for the portlet. So ideally a SSO is been established between the WLP Producer and the J2ee application.
My WLP Producer runs absolutely fine showing the portlets with appropriate HTML content retrieved from the J2ee application.
Now i have a WLP Consumer application, this too is configured to use custom security Realm and custom authenticators with a form login. So the idea here is to pass the credentials from the WLP consumer to the WLP producer through the WSRPIdentityAsserter.
But when i run the consumer application i get the following exception in the Brower window,
The source of this error is:
com.bea.wsrp.faults.TransportException: Internal Server Error at com.bea.wsrp.proxy.ProxyBase.getFaultInstance(ProxyBase.java:630) at com.bea.wsrp.proxy.ProxyBase.raiseFault(ProxyBase.java:647) at com.bea.wsrp.proxy.ProxyBase.invoke(ProxyBase.java:454) at $Proxy39.getMarkup(Unknown Source) at com.bea.wsrp.consumer.controls.ProxyPortletContent.invokeGetMarkup(ProxyPortletContent.java:606) at com.bea.wsrp.consumer.controls.ProxyPortletContent.beginRender(ProxyPortletContent.java:206) at com.bea.netuix.nf.ControlLifecycle$1.visit(ControlLifecycle.java:495) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:543) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:247) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:105) at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:356) at com.bea.netuix.nf.UIControl.render(UIControl.java:536) at com.bea.netuix.servlets.controls.PresentationContext.render(PresentationContext.java:405) at com.bea.netuix.servlets.util.RenderToolkit.renderChild(RenderToolkit.java:123) at com.bea.netuix.servlets.jsp.taglib.RenderChild.doStartTag(RenderChild.java:58) at jsp_servlet._framework._skeletons._default.__gridlayout._jspService(gridlayout.jsp:33) at weblogic.servlet.jsp.JspBase.service(JspBase.java:33) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1077) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:526) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348) at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:646) at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:431) at com.bea.netuix.servlets.controls.JspRenderer.renderAlt(JspRenderer.java:194) at com.bea.netuix.servlets.controls.JspRenderer.beginRender(JspRenderer.java:96) at com.bea.netuix.nf.ControlLifecycle$1.visit(ControlLifecycle.java:491) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:543) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:247) at com.bea.netuix.nf.Lifecycle.runOutbound(Lifecycle.java:204) at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:146) at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:324) at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:196) at com.bea.netuix.servlets.manager.PortalServlet.doPost(PortalServlet.java:772) at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:150) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1077) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:293) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:7053) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3902) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2773) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
Also when i tried to plug in the "/monitor" context for this i got the following fault,
<soapenv:Fault xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode>soapenv:Server</faultcode>
<faultstring>Internal Server Error</faultstring>
<detail>
<urn:FaultDetail xmlns:urn="urn:bea:wsrp:ext:v1:types">
<urn:created>2007-05-21T12:40:57.275+05:30</urn:created>
<urn:trace>java.lang.IllegalArgumentException
at com.bea.wsrp.producer.container.ServletResponseImpl.setContentType(ServletResponseImpl.java:423)
at com.bea.wsrp.producer.adapter.javaportlet.JavaPortletAdapter.doGetMarkup(JavaPortletAdapter.java:313)
at com.bea.wsrp.producer.handlers.markup.MarkupServiceHandler.doGetMarkup(MarkupServiceHandler.java:490)
at com.bea.wsrp.producer.handlers.markup.MarkupServiceHandler.doService(MarkupServiceHandler.java:306)
at com.bea.wsrp.producer.handlers.markup.MarkupServiceHandler.doService(MarkupServiceHandler.java:282)
at com.bea.wsrp.producer.handlers.AbstractServiceHandler.service(AbstractServiceHandler.java:78)
at com.bea.wsrp.producer.handlers.markup.MarkupServiceHandler.service(MarkupServiceHandler.java:262)
at com.bea.wsrp.producer.WsrpServer.processServiceRequest(WsrpServer.java:299)
at com.bea.wsrp.producer.WsrpServer.service(WsrpServer.java:198)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1077)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.wsrp.producer.adapter.pageflow.WsrpPageflowFilter.doFilter(WsrpPageflowFilter.java:73)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:293)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:7053)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3902)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2773)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
Caused by: javax.mail.internet.ParseException
at javax.mail.internet.ContentType.<init>(ContentType.java:66)
at com.bea.wsrp.producer.container.ServletResponseImpl.setContentType(ServletResponseImpl.java:420)
... 24 more</urn:trace>
</urn:FaultDetail>
</detail>
</soapenv:Fault>
Can you throw some light on these exceptions.
Also i needed to understand, whether WLP 8.1 sp6 has any issue with the above scenario.
I mean a WLP Consumer talks to WLP producer and the WLP Producer talks to a J2ee Appliation to retrieve the HTML fragments for the portlets.
I ask this since when i have self sufficient jsr168 portlets(one's which generate their own html) in my WLP producers, they seem to work fine but when my portlets depend on another j2ee application they seem to be throwing the above mentioned error.
Thanks in advance.
Thanks,
Vikram

Can you attach the portlet snippet please? It is likely that the content
type set by the portlet is invalid.
Subbu
Vikram Patil wrote:
Let me explain my scenario,
I have a WLP 8.1 sp6 portal domain. This domain contain 1 J2ee application, 1 WLP Producer application and 1 WLP Consumer Application.
I have a Custom Realm created, which contains a couple of custom Authenticators.
All three applications are configured to use the custom realm and custom authenticators. The authentication mechanism in each of these applications is form based.
The J2ee application is responsible in providing for the required HTML markup.
So my WLP Producer talks to the J2ee application to retrieve the desired markup for the portlet. So ideally a SSO is been established between the WLP Producer and the J2ee application.
My WLP Producer runs absolutely fine showing the portlets with appropriate HTML content retrieved from the J2ee application.
Now i have a WLP Consumer application, this too is configured to use custom security Realm and custom authenticators with a form login. So the idea here is to pass the credentials from the WLP consumer to the WLP producer through the WSRPIdentityAsserter.
But when i run the consumer application i get the following exception in the Brower window,
The source of this error is:
com.bea.wsrp.faults.TransportException: Internal Server Error at com.bea.wsrp.proxy.ProxyBase.getFaultInstance(ProxyBase.java:630) at com.bea.wsrp.proxy.ProxyBase.raiseFault(ProxyBase.java:647) at com.bea.wsrp.proxy.ProxyBase.invoke(ProxyBase.java:454) at $Proxy39.getMarkup(Unknown Source) at com.bea.wsrp.consumer.controls.ProxyPortletContent.invokeGetMarkup(ProxyPortletContent.java:606) at com.bea.wsrp.consumer.controls.ProxyPortletContent.beginRender(ProxyPortletContent.java:206) at com.bea.netuix.nf.ControlLifecycle$1.visit(ControlLifecycle.java:495) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:543) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:247) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:105) at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:356) at com.bea.netuix.nf.UIControl.render(UIControl.java:536) at com.bea.netuix.servlets.controls.PresentationContext.render(PresentationContext.java:405) at com.bea.netuix.servlets.util.RenderToolkit.renderChild(RenderToolkit.java:123) at com.bea.netuix.servlets.jsp.taglib.RenderChild.doStartTag(RenderChild.java:58) at jsp_servlet._framework._skeletons._default.__gridlayout._jspService(gridlayout.jsp:33) at weblogic.servlet.jsp.JspBase.service(JspBase.java:33) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1077) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:526) at weblogic.servlet.internal.ServletStubImpl.invokeS
ervlet(ServletStubImpl.java:348) at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:646) at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:431) at com.bea.netuix.servlets.controls.JspRenderer.renderAlt(JspRenderer.java:194) at com.bea.netuix.servlets.controls.JspRenderer.beginRender(JspRenderer.java:96) at com.bea.netuix.nf.ControlLifecycle$1.visit(ControlLifecycle.java:491) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:543) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.n
f.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:554) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:247) at com.bea.netuix.nf.Lifecycle.runOutbound(Lifecycle.java:204) at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:146) at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:324) at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:196) at com.bea.netuix.servlets.manager.PortalServlet.doPost(PortalServlet.java:772) at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:150) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1077) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465) at web
logic.servlet.internal.TailFilter.doFilter(TailFilter.java:28) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:293) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:7053) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3902) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2773) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
>
Also when i tried to plug in the "/monitor" context for this i got the following fault,
<soapenv:Fault xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode>soapenv:Server</faultcode>
<faultstring>Internal Server Error</faultstring>
<detail>
<urn:FaultDetail xmlns:urn="urn:bea:wsrp:ext:v1:types">
<urn:created>2007-05-21T12:40:57.275+05:30</urn:created>
<urn:trace>java.lang.IllegalArgumentException
at com.bea.wsrp.producer.container.ServletResponseImpl.setContentType(ServletResponseImpl.java:423)
at com.bea.wsrp.producer.adapter.javaportlet.JavaPortletAdapter.doGetMarkup(JavaPortletAdapter.java:313)
at com.bea.wsrp.producer.handlers.markup.MarkupServiceHandler.doGetMarkup(MarkupServiceHandler.java:490)
at com.bea.wsrp.producer.handlers.markup.MarkupServiceHandler.doService(MarkupServiceHandler.java:306)
at com.bea.wsrp.producer.handlers.markup.MarkupServiceHandler.doService(MarkupServiceHandler.java:282)
at com.bea.wsrp.producer.handlers.AbstractServiceHandler.service(AbstractServiceHandler.java:78)
at com.bea.wsrp.producer.handlers.markup.MarkupServiceHandler.service(MarkupServiceHandler.java:262)
at com.bea.wsrp.producer.WsrpServer.processServiceRequest(WsrpServer.java:299)
at com.bea.wsrp.producer.WsrpServer.service(WsrpServer.java:198)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1077)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.wsrp.producer.adapter.pageflow.WsrpPageflowFilter.doFilter(WsrpPageflowFilter.java:73)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:293)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:7053)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3902)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2773)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
Caused by: javax.mail.internet.ParseException
at javax.mail.internet.ContentType.<init>(ContentType.java:66)
at com.bea.wsrp.producer.container.ServletResponseImpl.setContentType(ServletResponseImpl.java:420)
... 24 more</urn:trace>
</urn:FaultDetail>
</detail>
</soapenv:Fault>
Can you throw some light on these exceptions.
Also i needed to understand, whether WLP 8.1 sp6 has any issue with the above scenario.
I mean a WLP Consumer talks to WLP producer and the WLP Producer talks to a J2ee Appliation to retrieve the HTML fragments for the portlets.
I ask this since when i have self sufficient jsr168 portlets(one's which generate their own html) in my WLP producers, they seem to work fine but when my portlets depend on another j2ee application they seem to be throwing the above mentioned error.
Thanks in advance.
Thanks,
Vikram

Similar Messages

  • Problem with a query on Remote Cube

    Hi,
    We are working on Remote cube, which has a source from a view built on R/3 base table. I need to extract the data to BW based on a current date due to huge volume of data(performance reasons) in the table. I have used an exit on R/3 to restrict to current date but the extract checker was showing the valid data ie only for current date when i had built a query on Remote cube, the Report was showing complete data(restriction not working). We have even tried using an inversion routine in transfer rules to pass the selections to the Source system even then it doesn't work. Could you help if you have come across same kind of situation or you can suggest an alternate solution on the same but we have to use Remote cube.
    Any suggestions asap would be highly appreciated and rewarded with full points.
    Regards,
    Raj

    Could you check the BLOB really contains UTF-8 encoded XML?
    What's your database character set?The BLOB contains UTF-8 Encoded
    and the database where i am connectes have AL32UTF8 character set, but my internal instance have "AMERICAN_AMERICA.WE8ISO8859P1"
    that is a problem?
    How could I change the character set of the oracle local client to the character set of the remote oracle data base?

  • Problem consuming ADF/Webcenter Portlet in Worskshop for as remote portlet

    hi,
    I am using Jdeveloper 11g and creating a portlet of a full fledged application with model and data control.
    I am consuming this portlet in Workshop for Weblogic 10gR3 as remote portlet through registering it as wsrp.
    The problem i am facing is the images doesn't get displayed..also the functionality like page navigation don't work!!
    The same portlet works fine in jdeveloper web center environment when consumed with same wsdl.
    Please help
    Regards
    Ajinkya.

    Hi,
    please try the WebCenter forum WebCenter Portal
    Frank

  • Oracle BPEL Worklist application as a remote portlet in ALUI portal

    Hi,
    I am integrating the Oracle BPEL sample worklist application as a remote portlet in ALUI in a community page.
    I have 2 urgent queries...and desperate to look for a resolution...
    1) On opening the page where the remote portlet is placed ,it is very very slow to open the firt login screen in IE6.However the page is loading fast in IE7 or netscape.Every time the login page is hit we need to refresh the page to load it quickly..
    2)on thewebservice configuration section for portlet -- > http Configuration ,I have created a gateway and added our Oracle BPEL worklist context to gateway the request.There is a option like Inline refresh..
    a)If inline refresh is unchecked ,the BPEL worklist is not retaining the portlet nature like minimize ,maximize and the top community navigation is lost.
    b)however if inline refesh is checked..The portlet nature is retained ,however there is javascript error coming in the page which is not allowing some of the vanilla features of BPEL worklist is working properly like clicking some buttons and taking actions...
    Is this some configuration to be made in the ALUI side or some thing else...Please let me know if there is any solution to this...
    Regards
    Ashif

    Now I am able to display the initial page of the remote portlet. However, when I try to do some operations I m running into one more issue:
    [WSRP-Consumer:420733]No markup received from the producer [oraclePortal_producer] for portlet with portletHandle[E:3:default].
    Is there anything futher I need to do?
    regards,
    Ansuman

  • NPE while registering Remote Portlet in Weblogic Portal 10.3

    Hi,
    I am on Weblogic Portal 10.3 and am trying to create a remote portlet in my portal application. The remote Portlet is hosted on OC4J 10.3.1.1.1 and is consumed properly on Oracle Portal without any errors, however, when I try to access the portlet's wsdl via the Remote Portlet Wizard, I get the following exception while registering.
    bq. {color:#3366ff}!ENTRY com.bea.wlp.eclipse.common 1 1 2008-10-06 11:37:28.938{color} \\ {color:#3366ff} \\ !MESSAGE [Portal-ERROR|http://forums.oracle.com/forums/] There was a problem submitting registration for this producer.{color} \\ {color:#3366ff} \\ Reason = ProducerAgent::java.lang.NullPointerException: null{color} \\ {color:#3366ff} \\ !ENTRY com.bea.wlp.eclipse.common 4 4 2008-10-06 11:37:28.938{color} \\ {color:#3366ff} \\ !MESSAGE {color} \\ {color:#3366ff} \\ !STACK 0{color} \\ {color:#3366ff} \\ java.lang.NullPointerException{color} \\ {color:#3366ff} \\ at weblogic.utils.encoders.CharacterDecoder.decodeBuffer(CharacterDecoder.java:188){color} \\ {color:#3366ff} \\ at com.bea.wsrp.util.XmlUtils.decodeBASE64(XmlUtils.java:270){color} \\ {color:#3366ff} \\ at com.bea.wsrp.bind.RegistrationContextImpl.&lt;init&gt;(RegistrationContextImpl.java:44){color} \\ {color:#3366ff} \\ at com.bea.wsrp.client.ProducerAgentImpl.register(ProducerAgentImpl.java:258){color} \\ {color:#3366ff} \\ at com.bea.wsrp.client.ProducerAgentImpl.register(ProducerAgentImpl.java:221){color} \\ {color:#3366ff} \\ at com.bea.wlp.eclipse.wsrp.portletbuilder.wsrp.ProducerAgent.submitRegistrationDocument(ProducerAgent.java:384){color} \\ {color:#3366ff} \\ at com.bea.wlp.eclipse.wsrp.portletbuilder.wizard.wsrp.SelectProducerPanel$RegistrationRunner.run(SelectProducerPanel.java:1425){color} \\ {color:#3366ff} \\ !ENTRY com.bea.wlp.eclipse.common 1 1 2008-10-06 11:37:28.953{color} \\ {color:#3366ff} \\ !MESSAGE [Portal-DEBUG|http://forums.oracle.com/forums/] RegistrationPanel::could not submit registration document: null{color}
    {color:#3366ff}
    {color}
    {color:#000000}This producer is fully WSRP compliant and works perfectly fine with Oracle Portal. Any pointers of where it might go wrong?{color}
    Ansuman

    Now I am able to display the initial page of the remote portlet. However, when I try to do some operations I m running into one more issue:
    [WSRP-Consumer:420733]No markup received from the producer [oraclePortal_producer] for portlet with portletHandle[E:3:default].
    Is there anything futher I need to do?
    regards,
    Ansuman

  • How to put a remote portlets server in maintenance mode

    Hi,
    We are running Plumtree Portal 5.0.4 on Windows 2000 Server SP4. We have a remote portlets server which hosts a lot of portlets' webservices.
    We need to put the remote server in maintenance mode.
    How can we disable all webservices hosted by this remote server without disabling each webservices manually (which will be painful) ?
    Regards,
    Qué Son PHAM VAN

    I don't want to encourage you to modify your database directly, but it seems to be the only way to do this easily. Try:
    update ptwebservices
    set enabled = 0, disabledmsg = 'This portlet has been disabled. Blah blah blah.'
    where gadgetserverid = 200;
    Replace 200 with the ID of your remote server.
    HTH,
    Chris Bucchere | bdg | [email protected] | http://www.bdg-online.com

  • Name of Lockbox set in Remote Portlet Web Service?

    Using the ALUI 6.0 IDK API, does anybody know how to get the name of the Lockbox a Remote Portlet Web Service is using?
    Authentication Settings / Credential Vault Settings / Lockbox

    Hello,
    first: I don´t know anything about the right solution. I am unaware of the existence of the solution, because there were quite many of question about this multiple selection problem and I don´t remember a single "answer".
    I can recommend you to simplify everything and create the functionality yourself. I have done that before to avoid these "Adobe-standard" problems. If you have a problem with autofill of the object, ask your WS to send you a single string and pass it yourself using scripting (JS).
    And if you have problems with multiple selection, create your own field/ object. Get the string of values, parse it, create multiple lines of the dynamic table with some suitable tool to check/ select the rows you need (use checkbox for example, and your text as a table row). This way you can selected anything you want with no problems at all. It wil only cost you some extra work.
    Regards, Otto

  • JSF app as a remote portlet on OAS 10.1.3.1

    Hello,
    We have a requirement to expose our JSF app as a remote portlet via WSRP.
    Our production platform is OAS 10.1.3.1 SOA and we are using JDeveloper 10.1.3.1 for the development.
    We are new to the portal technologies, but what we understood reading the docs is that we must use WEB Center framework to expose the JSF app as a remote portlet. Is this correct?
    Also, how can we install the WEB Center to our OAS 10.1.3.1 SOA ?
    thank you

    Hi,
    In one of our current projects we're using SOA Suite and WebCenter. For example, we're exposing a JSF page containing a custom-built human workflow tasklist as remote portlet.
    We have installed a separate WebCenter AS 10.1.3.2.0 besides the AS SOA Suite. (See: http://www.oracle.com/technology/software/products/ias/htdocs/101320ws.html) and patched it to 10.1.3.3.0. For development we use JDeveloper 10.1.3.3.0 and its pre-configured WebCenter OC4J.
    We had some issues with the JSF portlet-bridge and opened tar's, but these we're resolved by Oracle.
    Regards, Ronald

  • Timeout during a remote portlet request

    I'm facing a problem on portal consuming a remote portlet on wlp 8.1 SP4/5.
    We ask me to prevent a communication leak during a wsrp communication between me (the consumer) and a producer.
    I have seen this parameter that can be add to my wsrp-producer-registry.xml :
    connection-establishment-timeout-msecs
    connection-timeout-msecs
    This is a container way to change the parameter but what do you suggest to manage the error when it appears. Is their and error page on portlet ? in web.xml?
    Thanks for any suggestion.
    Yo.

    In G6, we have provided a way for a remote portlet to grab the parameters from the URL. If you go to the user info page for the web service, you will see a new option: "Host Page URL Query String". If you check that box, the remote tier will get the full query string, as typed into the browser, as a user info parameter. You can then parse that query string and get any additional arguments that you have passed in.
    We realize that this will not work in 5.x, which most of you use. Below you will find the code that you can put into your 5.0 portaluiinfrastructure.jar/dll to make the same change as what we did with G6. That way, if you write your portlets to this feature now, when you upgrade to G6 they will continue working and you shouldn't have to do any modifications to the portal UI.
    Locate AppDataObject file, which should be in portaluiinfrastructure.statichelpers package. Find this function:
    public static IPTState GetAppDataObject(int iCommunityID, int iPageID, int iGWParams, String strHostPageURI, AActivitySpace asOwner, boolean bResolveSecureBase)
    It should be a pretty long function that adds all sorts of stuff to objAppDataObject. At the very end of this function, immediately before the log.Debug statements, add the following line of code:
    //set the query string on UserInfoptSession.GetUserInfo().AddUserInfoSetting("HostPageQueryString", asOwner.GetCurrentHTTPRequest().GetQueryString());
    Build and deploy a new portaluiinfrastructure.jar/dll according to instructions published on the dev center.
    Start the portal, open the web service object corresponding to the portlet which should have access to query string parameters from the URL. On the User Info page, add user info setting name "HostPageQueryString". In your portlet, get the user info setting with that name - you will have the query string as entered in the browser.
    Feel free to post in this thread if you encounter any difficulties with this approach.

  • Facing problem working with remote portlets

    Hi,
    I have a usecase where in i created a WSRP producer containing 2 jsr168 portlets. This producer application contains a form based security configured for the default role PortalSystemAdministrator(weblogic/weblogic).
    I am have a consumer application which consumes these portlets. This application too has form based security configured for the default role PortalSystemAdministrator.
    What i have done in the above application is created a SSO scenario, where in once i login in through the consumer application, the user information is passed along to the producer through the configured WSRPIdentityAsserter token, thereby forming a trust between the producer and consumer application.
    This scenario works perfectly fine as expected and i am able to view the remote portlets through the consumer.
    Now i have deployed another j2ee application in the same portal domain. This application resulted in a custom realm created and a set of custom authentication providers within it.
    So now the current situation is that active realm in the new custom realm, and it contains 4 custom suthentication providers. Here i saw the WSRPIdentityAsserter missing from the list so from the admin console i configured WSRPIdentityAsserter.
    But when i try to run the same consumer application, though it lets me login in using the same credentials (weblogic/weblogic), it fails to propagate the principal values across to the producer application.
    Since in my producer portlet i have a code "request.getUserPrincipal()" which now results in a null value.
    When i used the "/monitor" context to check for the flow of soap messages between the consumer and the producer i can see the header containing the Saml token and "weblogic" as the user name.
    And the most wired part about all this is, when i was reading through the weblogic documentation for wsrp, i encountered something related to <enable-local-proxy> value within wsrp-producer-registry.xml. By default this value is set to false. And the things worked well earlier with this default value as explained above. So just to give a shot at trying things i set this value to true and i was able to view the portlets correctly.
    But i am still yet to find a solution to the problem as stated above with the <enable-local-proxy> set to its default value(false), since it worked well earlier.
    So i am pretty clueless as to what would be going wrong here. Is it that since the new custom relam is now active i need to make some sort of changes in regards to the WSRPIdentityAsserter configurations.
    I tried googling for a long time, but failed to get any relevant help on this problem.
    Can someone please throw some light on this.
    Thanks,
    Vikram

    Deepak,
    I dont think that would be an issue since, my scenario worked well with the default realm (myrealm) and the default user (weblogic/weblogic). In that case i suppose it used DefaultAuthenticator for authentication and WSRPIdentityAsserter for passing the information from the consumer to the producer.
    But after deploying this other J2ee application on the same portal domain, which resulted in a new security realm being created and few custom authentication providers added.
    So now the situation is when i try to run the above consumer application, though it lets me login but it does not pass the login credentials (principal) to the producer application (which is earlier did through the WSRPIdentityAsserter). Since my code in the producer portlet (request.getUserPrincipal()) results in null value.
    Checking through the "/monitor" context shows that the consumer is passing the login credentials through the saml tokens within the SOAP header. But either it is not reaching the producer application or then there is some other reason due to which the producer application is failing to trust the consumer and provide the secure data.
    Please can some one help me on this.
    Thanks,
    Vikram

  • Overriding or Adding CSS on a remote portlet

    Hi all,
    I have a producer portlet on Jboss and a remote consumer portlet on Weblogic Portal 10.2. I want to override or add the CSS on the consumer side to that portlet . I tried by giving the same path of the CSS file in both consumer and producer.
    Please tell me if there is any way to do that.
    Thanks
    V.K. Singla

    In G6, we have provided a way for a remote portlet to grab the parameters from the URL. If you go to the user info page for the web service, you will see a new option: "Host Page URL Query String". If you check that box, the remote tier will get the full query string, as typed into the browser, as a user info parameter. You can then parse that query string and get any additional arguments that you have passed in.
    We realize that this will not work in 5.x, which most of you use. Below you will find the code that you can put into your 5.0 portaluiinfrastructure.jar/dll to make the same change as what we did with G6. That way, if you write your portlets to this feature now, when you upgrade to G6 they will continue working and you shouldn't have to do any modifications to the portal UI.
    Locate AppDataObject file, which should be in portaluiinfrastructure.statichelpers package. Find this function:
    public static IPTState GetAppDataObject(int iCommunityID, int iPageID, int iGWParams, String strHostPageURI, AActivitySpace asOwner, boolean bResolveSecureBase)
    It should be a pretty long function that adds all sorts of stuff to objAppDataObject. At the very end of this function, immediately before the log.Debug statements, add the following line of code:
    //set the query string on UserInfoptSession.GetUserInfo().AddUserInfoSetting("HostPageQueryString", asOwner.GetCurrentHTTPRequest().GetQueryString());
    Build and deploy a new portaluiinfrastructure.jar/dll according to instructions published on the dev center.
    Start the portal, open the web service object corresponding to the portlet which should have access to query string parameters from the URL. On the User Info page, add user info setting name "HostPageQueryString". In your portlet, get the user info setting with that name - you will have the query string as entered in the browser.
    Feel free to post in this thread if you encounter any difficulties with this approach.

  • Returning to different community pages from remote portlet

    Hi,
    I'm trying to determine the options available if we'd like to a remote portlet on one community page to return to a different page within the community on post back. We're able to dynamically build out a redirect string using parts of the request's hostpage properties, but we know that the page id of the community will probably change between different environments (dev/staging/live). I understand that pages don't have UUIDs so that's out.I'm sure there are some kludgey workarounds like keeping track of the different pageIDs as preferences or an external file, but we'd like to do this the "right" way if possible so we don't have to separately maintain that info.
    Any help is appreciated, thanks!

    hi,
    i don't think producer can access consumer's backing contexts.
    but you can use backing files on the proxy portlets and retrieve desktop, page names in the backing file and pass the data to producer using custom data transfer technique. For further info, pl. refer to the below link.
    http://edocs.bea.com/wlp/docs81/wsrp/custxfer.html
    -sampath

  • Query regarding updation thru a Procedure

    Hi,I have a query regarding updation.
    1.I invoke a procedure in Oracle called submit thru my Java application.
    The submit procedure saves the XML data in the database
    and displays this data in a Front End GUI.
    2. Now,I make a change in my Java application by adding new elements to the same row.This row now contains additional XML elements.
    I would like to display the new row with the new elements in the GUI.
    What is a better option for doing the above?
    1.Delete the row being shown,save the new row with the changes in the database,and re display it?
    2.Or,Update the row dynamically and refresh?
    Any suggestions
    Thanks,

    Hi,I have a query regarding updation.
    1.I invoke a procedure in Oracle called submit thru
    my Java application.
    The submit procedure saves the XML data in the
    database
    and displays this data in a Front End GUI.
    2. Now,I make a change in my Java application by
    adding new elements to the same row.This row now
    contains additional XML elements.
    I would like to display the new row with the new
    elements in the GUI.
    What is a better option for doing the above?
    1.Delete the row being shown,save the new row with
    the changes in the database,and re display it?
    2.Or,Update the row dynamically and refresh?
    Any suggestions
    Thanks,If you delete (it seems to me yours this process is regular and frequent) and re insert the new updated one record then High water mark will cause to scan yours table which may cause to degrade the performance.AFAIK you should go with update.But hold down dont implement it as i suggested lets see what are others solution here which may be more precious then mine.
    Khurram

  • A query regarding synchronised functions, using shared object

    Hi all.
    I have this little query, regarding the functions that are synchronised, based on accessing the lock to the object, which is being used for synchronizing.
    Ok, I will clear myself with the following example :
    class First
    int a;
    static int b;
    public void func_one()
    synchronized((Integer) a)
    { // function logic
    } // End of func_one
    public void func_two()
    synchronized((Integer) b)
    { / function logic
    } // End of func_two
    public static void func_three()
    synchronized((Integer) a)
    { // function logic
    } // End of func_three, WHICH IS ACTUALLY NOT ALLOWED,
    // just written here for completeness.
    public static void func_four()
    synchronized((Integer) b)
    { / function logic
    } // End of func_four
    First obj1 = new First();
    First obj2 = new First();
    Note that the four functions are different on the following criteria :
    a) Whether the function is static or non-static.
    b) Whether the object on which synchronization is based is a static, or a non-static member of the class.
    Now, first my-thoughts; kindly correct me if I am wrong :
    a) In case 1, we have a non-static function, synchronized on a non-static object. Thus, effectively, there is no-synchronisation, since in case obj1 and obj2 happen to call the func_one at the same time, obj1 will obtain lock for obj1.a; and obj2 will obtain lock to obj2.a; and both can go inside the supposed-to-be-synchronized-function-but-actually-is-not merrily.
    Kindly correct me I am wrong anywhere in the above.
    b) In case 2, we have a non-static function, synchronized on a static object. Here, again if obj1, and obj2 happen to call the function at the same time, obj1 will try to obtain lock for obj1.a; while obj2 will try to obtain lock for obj2.a. However, since obj1.a and obj2.a are the same, thus we will indeed obtain sychronisation.
    Kindly correct me I am wrong anywhere in the above.
    c) In case 3, we have a static function , synchronized on a non-static object. However, Java does not allow functions of this type, so we may safely move forward.
    d) In case 4, we have a static function, synchronized on a static object.
    Here, again if obj1, and obj2 happen to call the function at the same time, obj1 will try to obtain lock for obj1.a; while obj2 will try to obtain lock for obj2.a. However, since obj1.a and obj2.a are the same, thus we will indeed obtain sychronisation. But we are only partly done for this case.
    First, Kindly correct me I am wrong anywhere in the above.
    Now, I have a query : what happens if the call is made in a classically static manner, i.e. using the statement "First.func_four;".
    Another query : so far we have been assuming that the only objects contending for the synchronized function are obj1, and obj2, in a single thread. Now, consider this, suppose we have the same reference obj1, in two threads, and the call "obj1.func_four;" happens to occur at the same time from each of these threads. Thus, we have obj1 rying to obtain lock for obj1.a; and again obj1 trying to obtain lock for obj1.a, which are the same locks. So, if obj1.a of the first thread obtains the lock, then it will enter the function no-doubt, but the call from the second thread will also succeed. Thus, effectively, our synchronisation is broken.
    Or am I being dumb ?
    Looking forward to replies..
    Ashutosh

    a) In case 1, we have a non-static function, synchronized on a non-static object. Thus, effectively, there is no-synchronisationThere is no synchronization between distinct First objects, but that's what you specified. Apart from the coding bug noted below, there would be synchronization between different threads using the same instance of First.
    b) In case 2, we have a non-static function, synchronized on a static object. Here, again if obj1, and obj2 happen to call the function at the same time, obj1 will try to obtain lock for obj1.a; while obj2 will try to obtain lock for obj2.a.obj1/2 don't call methods or try to obtain locks. The two different threads do that. And you mean First.b, not obj1.b and obj2.b, but see also below.
    d) In case 4, we have a static function, synchronized on a static object. Here, again if obj1, and obj2 happen to call the function at the same time, obj1 will try to obtain lock for obj1.a; while obj2 will try to obtain lock for obj2.a.Again, obj1/2 don't call methods or try to obtain locks. The two different threads do that. And again, you mean First.b. obj1.b and obj2.b are the same as First.b. Does that make it clearer?
    Now, I have a query : what happens if the call is made in a classically static manner, i.e. using the statement "First.func_four;".That's what happens in any case whether you write obj1.func_four(), obj2.func)four(), or First.func_four(). All these are identical when func_four(0 is static.
    Now, consider this, suppose we have the same reference obj1, in two threads, and the call "obj1.func_four;" happens to occur at the same time from each of these threads. Thus, we have obj1 rying to obtain lock for obj1.aNo we don't, we have a thread trying to obtain the lock on First.b.
    and again obj1 trying to obtain lock for obj1.aYou mean obj2 and First.b, but obj2 doesn't obtain the lock, the thread does.
    which are the same locks. So, if obj1.a of the first thread obtains the lock, then it will enter the function no-doubt, but the call from the second thread will also succeed.Of course it won't. Your reasoning here makes zero sense..Once First.b is locked it is locked. End of story.
    Thus, effectively, our synchronisation is broken.No it isn't. The second thread will wait on the same First.b object that the first thread has locked.
    However in any case you have a much bigger problem here. You're autoboxing your local 'int' variable to a possibly brand-new Integer object every call, so there may be no synchronization at all.
    You need:
    Object a = new Object();
    static Object b = new Object();

  • Query regarding the conversion of DME file in MT940 format.

    Hello Experts,
    I have a query regarding the generation of MT940 file after generating the payment file from other DME tree.
    After completion of payment run, my payment file is generated in the DME format which is according to the DME tree.
    I want to convert the DME file (which is generated via F110)  from existing format to the standard MT940 format.
    Is there any standard program which converts the DME file to MT940. If so,  please inform me as early.
    I have tried to upload the DME file in FF.5 transaction, but it is not allowing me to convert the file in MT940 structure.
    Or please inform the steps how i can convert the file .
    Awaiting for your inputs.
    Thanks in advance

    Hi Zareena.
    I would like to suggest,
    SX_OBJECT_CONVERT_RAW_TXT.
    Hope that's usefull.
    Good Luck & Regards.
    Harsh Dave

Maybe you are looking for