Cheers
FYI I have just applied a patch to portalstandards.oracle.com that
corrects a problem with its filtering out of methodGet portlets. In
your producer's case, the filtering resulted in a producer with no
portlets, which raised a few problems in our code.
You should now find that you can register the BEA producer on
portalstandards.oracle.com (although the end result at the moment will
be no portlets available to add to the page!).
Regards
David
Subbu Allamaraju wrote:
Okay. But
I'm going to leave other tokens unreplaced till Monday.
Subbu
David Ward said the following on 11/26/2003 11:16 AM:
This would certainly help.
Subbu Allamaraju wrote:
Is this just for fragmentId? If so, I can
do that in my next update.
Subbu
David Ward said the following on 11/26/2003 10:56 AM:
Subbu Allamaraju wrote:
David,
The BEA Producer has "usesMethodGet"
set on all its portlet descriptions at the moment (even when our portal
sends methodGetSupported=false), hence our portal filters them all out
when we register them. In the interests of the interop demo, could you
provide some portlets with usesMethodGet=false?
This is a bit tricky, since the producer does not really care about
usesMethodGet. We don't require portlet JSP developers to specify this
at all.
I'll make it return false temporarily.
Also, what was the decision made on
template parameters with no value? Currently these are being left in
place by the BEA producer meaning that all URLS come back with
"#{wsrp-fragmentid}" on the end of them.
This issue is still open for the TC to consider.
Again, if we want something demoable, can you make your producer
instantiate /all/ {wsrp} parameters in its template? Those that don't
have values such as fragment id could just be replaced with the empty
string.
Thanks
David
Regards,
Subbu
Subbu Allamaraju wrote:
David,
During the WSDL call today, Andre and myself discussed this issue, and
he suggested that the producer could still include the complete URL in
the action so that the consumer can rewrite it if it wants to. That
seems reasonable for the producer, and it won't break consumer that
don't rewrite the markup.
I'll update the producer and let you know.
Regards,
Subbu
Subbu Allamaraju said the following on 11/26/2003 07:55 AM:
David,
I see the following templates in the monitor:
<ns0:templates>
<ns0:defaultTemplate xsi:nil="1"/>
<ns0:blockingActionTemplate>wsrp_rewrite?wsrp-urlType=blockingAction&amp;wsrp-navigationalState={wsrp-navigationalState}&amp;wsrp-interactionState={wsrp-interactionState}&amp;wsrp-mode={wsrp-mode}&amp;wsrp-windowState={wsrp-windowState}&amp;wsrp-fragmentID={wsrp-fragmentID}/wsrp_rewrite</ns0:blockingActionTemplate>
<ns0:renderTemplate>wsrp_rewrite?wsrp-urlType=render&amp;wsrp-navigationalState={wsrp-navigationalState}&amp;wsrp-mode={wsrp-mode}&amp;wsrp-windowState={wsrp-windowState}&amp;wsrp-fragmentID={wsrp-fragmentID}/wsrp_rewrite</ns0:renderTemplate>
<ns0:resourceTemplate>wsrp_rewrite?wsrp-urlType=resource&amp;wsrp-url={wsrp-url}&amp;wsrp-requiresRewrite={wsrp-requiresRewrite}/wsrp_rewrite</ns0:resourceTemplate>
<ns0:secureDefaultTemplate xsi:nil="1"/>
<ns0:secureBlockingActionTemplate><![CDATA[wsrp_rewrite?wsrp-urlType=blockingAction&wsrp-secureURL=true&wsrp-navigationalState={wsrp-navigationalState}&wsrp-interactionState={wsrp-interactionState}&wsrp-mode={wsrp-mode}&wsrp-windowState={wsrp-windowState}&wsrp-fragmentID={wsrp-fragmentID}/wsrp_rewrite]]></ns0:secureBlockingActionTemplate>
<ns0:secureRenderTemplate>wsrp_rewrite?wsrp-urlType=render&amp;wsrp-secureURL=true&amp;wsrp-navigationalState={wsrp-navigationalState}&amp;wsrp-mode={wsrp-mode}&amp;wsrp-windowState={wsrp-windowState}&amp;wsrp-fragmentID={wsrp-fragmentID}/wsrp_rewrite</ns0:secureRenderTemplate>
<ns0:secureResourceTemplate>wsrp_rewrite?wsrp-urlType=resource&amp;wsrp-secureURL=true&amp;wsrp-url={wsrp-url}&amp;wsrp-requiresRewrite={wsrp-requiresRewrite}/wsrp_rewrite</ns0:secureResourceTemplate>
</ns0:templates>
Firstly, I did not expect a consumer to send rewrite tokens in
templates. These templates may be valid from the spec point of view,
but can a consumer rewrite such URLs? Could you elaborate on how you
plan to rewrite these URLs in your consumer?
Secondly, to make sure that browser does not drop the query string in
the action, our producer creates hidden fields for each parameter found
in the query string. This explains the the action URL "wsrp_rewrite"
and the hidden params.
I need to look into those &s in the hidden fields.
Regards,
Subbu
David Ward said the following on 11/26/2003 07:36 AM:
Thanks.
Now I'm seeing the following in the methodGet portlet (not that our
Portal actually supports method get, but I thought these results from
our test client were interesting).
<form name="firstStepForm" method="get" action="wsrp_rewrite">
<input type="hidden" name="wsrp-urlType" value="blockingAction"/>
<input type="hidden" name="*amp;wsrp-interactionState*"
value="firststep"/>
<input type="hidden" name="*amp;wsrp-fragmentID*"
value="*{wsrp-fragmentID}/wsrp_rewrite*"/>
<table>
<tr valign="top">
<td>First Field:</td>
<td>
<input type="text" name="0{actionForm.field1}"
value=""/>
</td>
</tr>
<tr valign="top">
<td>Second Field:</td>
<td>
<input type="text" name="0{actionForm.field2}"
value=""/>
</td>
</tr>
</table>
<br/>
<input type="submit" value="firststep"/>
</form>
It seems that you are trying to 'parse' the templates we are sending
you into, expecting them to be in query string format, and you are not
recognizing "&" as a separator. I thought it was only valid to
'instantiate' templates by expanding out the variables enclosed in {}.
As you can see, the templates we pass expand out into rewritable URLs,
so end with "/wsrp_rewrite".
I would have expected this as the result from the method get portlet:,
given the template we sent you
<form name="firstStepForm" method="get"
*action="wsrp_rewrite?wsrp-urlType=blockingAction&wsrp-interactionState=firststep&**amp;wsrp-fragmentID=**/wsrp_rewrite">*
<table>
<tr valign="top">
<td>First Field:</td>
<td>
<input type="text" name="0{actionForm.field1}"
value=""/>
</td>
</tr>
<tr valign="top">
<td>Second Field:</td>
<td>
<input type="text" name="0{actionForm.field2}"
value=""/>
</td>
</tr>
</table>
<br/>
<input type="submit" value="firststep"/>
</form>
Regards
David
Subbu Allamaraju wrote:
Hi David,
Uploaded the fix just now. I was able to register our consumer with
your producer last night. I'm going to try setup a page now.
Regards,
Subbu
David Ward said the following on 11/26/2003 05:10 AM:
Hi Subbu
It seems you have added a registration port now and your portlets won't
render without a registration handle. However, when I try to register,
I see the following request and response. It seems your producer
requires some sort of authentication. Note also that the Content-Type
response header is still wrong!
POST /producer/producer HTTP/1.1
Host: ukp16267.uk.oracle.com:5555
Connection: close, TE
TE: trailers, deflate, gzip, compress
User-Agent: RPT-HTTPClient/0.3-3
SOAPAction: "urn:oasis:names:tc:wsrp:v1:register"
Accept-Encoding: gzip, x-gzip, compress, x-compress
Content-type: text/xml; charset="utf-8"
Content-length: 1010
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns0="urn:oasis:names:tc:wsrp:v1:types">
<env:Body>
<ns0:register>
<ns0:consumerName>UKP16267</ns0:consumerName>
<ns0:consumerAgent>OraclePortal.9.5</ns0:consumerAgent>
<ns0:methodGetSupported>false</ns0:methodGetSupported>
<ns0:consumerModes>wsrp:view</ns0:consumerModes>
<ns0:consumerModes>wsrp:edit</ns0:consumerModes>
<ns0:consumerModes>wsrp:help</ns0:consumerModes>
<ns0:consumerModes>wsrp:preview</ns0:consumerModes>
<ns0:consumerModes>urn:javax:portlet:mode:custom:edit_defaults</ns0:consumerModes>
<ns0:consumerWindowStates>wsrp:normal</ns0:consumerWindowStates>
<ns0:consumerWindowStates>wsrp:minimized</ns0:consumerWindowStates>
<ns0:consumerWindowStates>wsrp:maximized</ns0:consumerWindowStates>
<ns0:consumerWindowStates>wsrp:solo</ns0:consumerWindowStates>
</ns0:register>
</env:Body>
</env:Envelope>
HTTP/1.1 200 OK
Date: Wed, 26 Nov 2003 12:04:45 GMT
Content-Length: 2854
Content-Type: text/xml; UTF-8
Connection: close
Server: WebLogic Server 8.1 SP2 Mon Nov 17 22:57:23 PST 2003 311144
WebLogic Server 8.1 SP2 Mon Nov 17 22:57:23 PST 2003 311144 WebLogic
Server 8.1 SP2 Mon Nov 17 22:57:23 PST 2003 311144
Via: 1.1 inet-nc01 (NetCache NetApp/5.3.1R3)
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<soapenv:Fault
xmlns:urn="urn:oasis:names:tc:wsrp:v1:types">
<faultcode>urn:OperationFailed</faultcode>
<faultstring>[EJB:010160]Security Violation: User:
'<anonymous>' has insufficient permission to access EJB:
type=<ejb>, application=producerApp, module=netuix.jar,
ejb=ConsumerRegistrationService, method=register,
methodInterface=Local,
signature={java.lang.String,java.lang.String,java.lang.String,java.util.Map}.</faultstring>
<detail>
<detail>com.bea.wsrp.faults.OperationFailedException:
[EJB:010160]Security Violation: User: '<anonymous>' has
insufficient permission to access EJB: type=<ejb>,
application=producerApp, module=netuix.jar,
ejb=ConsumerRegistrationService, method=register,
methodInterface=Local,
signature={java.lang.String,java.lang.String,java.lang.String,java.util.Map}.
at
com.bea.wsrp.producer.adapter.registration.PortalConsumerRegistrationServiceAdapter.register(PortalConsumerRegistrationServiceAdapter.java:59)
at
com.bea.wsrp.producer.handlers.registration.RegistrationServiceHandler.doRegister(RegistrationServiceHandler.java:185)
at
com.bea.wsrp.producer.handlers.registration.RegistrationServiceHandler.doService(RegistrationServiceHandler.java:119)
at
com.bea.wsrp.producer.WsrpServer.invokeHandler(WsrpServer.java:335)
at com.bea.wsrp.producer.WsrpServer.doService(WsrpServer.java:297)
at
com.bea.wsrp.producer.WsrpServer.processServiceRequest(WsrpServer.java:210)
at com.bea.wsrp.producer.WsrpServer.service(WsrpServer.java:169) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
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
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6356)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) at
weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)</detail>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
Regards
Dave
Subbu Allamaraju wrote:
The producer is up now.
The producer WSDL is at:
http://wsrp.avitek.com:7001/producer/producer?WSDL
The consumer is at:
http://wsrp.avitel.com:7001/consumer/portal.portal (please note the
change in port number).
There are some known issues with the portlets that we obtained from a
partner, and those will be fixed by tomorrow.
Regards,
Subbu
To unsubscribe from this mailing list (and be removed from the roster
of the OASIS TC), go to
http://www.oasis-open.org/apps/org/workgroup/wsrp-interop/members/leave_workgroup.php.
--
------------------------------------------------------------------------
*David Ward*
Principal Software Engineer
Portlet Technologies
Oracle Portal
Oracle European Development Centre
520 Oracle Parkway
Thames Valley Park
Reading
Berkshire RG6 1RA
UK *Email:* david.ward@oracle.com
<mailto:david.ward@oracle.com>
*Tel:* +44 118 924 5079
*Fax:* +44 118 924 5005
To unsubscribe from this mailing list (and be removed from the roster
of the OASIS TC), go to
http://www.oasis-open.org/apps/org/workgroup/wsrp-interop/members/leave_workgroup.php.
--
------------------------------------------------------------------------
*David Ward*
Principal Software Engineer
Portlet Technologies
Oracle Portal
Oracle European Development Centre
520 Oracle Parkway
Thames Valley Park
Reading
Berkshire RG6 1RA
UK *Email:* david.ward@oracle.com
<mailto:david.ward@oracle.com>
*Tel:* +44 118 924 5079
*Fax:* +44 118 924 5005
To unsubscribe from this mailing list (and be removed from the roster
of the OASIS TC), go to
http://www.oasis-open.org/apps/org/workgroup/wsrp-interop/members/leave_workgroup.php.
To unsubscribe from this mailing list (and be removed from the roster
of the OASIS TC), go to
http://www.oasis-open.org/apps/org/workgroup/wsrp-interop/members/leave_workgroup.php.
--
------------------------------------------------------------------------
*David Ward*
Principal Software Engineer
Portlet Technologies
Oracle Portal
Oracle European Development Centre
520 Oracle Parkway
Thames Valley Park
Reading
Berkshire RG6 1RA
UK *Email:* david.ward@oracle.com
<mailto:david.ward@oracle.com>
*Tel:* +44 118 924 5079
*Fax:* +44 118 924 5005
To unsubscribe from this mailing list (and be removed from the roster
of the OASIS TC), go to
http://www.oasis-open.org/apps/org/workgroup/wsrp-interop/members/leave_workgroup.php.
--
------------------------------------------------------------------------
*David Ward*
Principal Software Engineer
Portlet Technologies
Oracle Portal
Oracle European Development Centre
520 Oracle Parkway
Thames Valley Park
Reading
Berkshire RG6 1RA
UK *Email:* david.ward@oracle.com
<mailto:david.ward@oracle.com>
*Tel:* +44 118 924 5079
*Fax:* +44 118 924 5005
To unsubscribe from this mailing list (and be removed from the roster
of the OASIS TC), go to
http://www.oasis-open.org/apps/org/workgroup/wsrp-interop/members/leave_workgroup.php.
--
------------------------------------------------------------------------
*David Ward*
Principal Software Engineer
Portlet Technologies
Oracle Portal
Oracle European Development Centre
520 Oracle Parkway
Thames Valley Park
Reading
Berkshire RG6 1RA
UK
*Email:* david.ward@oracle.com <mailto:david.ward@oracle.com>
*Tel:* +44 118 924 5079
*Fax:* +44 118 924 5005
To unsubscribe from this mailing list (and be removed from the roster
of the OASIS TC), go to
http://www.oasis-open.org/apps/org/workgroup/wsrp-interop/members/leave_workgroup.php.
--
David Ward
Principal Software Engineer
Portlet Technologies
Oracle Portal
|
Oracle European Development Centre
520 Oracle Parkway
Thames Valley Park
Reading
Berkshire RG6 1RA
UK |
|
|