Re: [wsrp-interop] Producer is up again

From
Michael Freedman <>
Date
2003-11-26T17:53:48+00:00
ID
Thread
Re: [wsrp-interop] Producer is up again
Yes, the full WSTP committee still has to approve the interop decision but
the proposal we have put before them is:

 New text: These tokens are enclosed in curly
braces (i.e. "{" and "}") and contain the name of the portlet URL parameter
which the Producer MUST replace (using "" for those parameters where the
Producer has no value).

However, for the interop demo we just need to find the easiest intersection
between what consumers and prodcuers support.  Anywone other then BEA using
URL templates? If so what do you do?  For each of the consumers we intend
to use in the demo what do they need/expect to work properly?

     -Mike- 

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. 

 

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;amp;wsrp-navigationalState={wsrp-navigationalState}&amp;amp;wsrp-interactionState={wsrp-interactionState}&amp;amp;wsrp-mode={wsrp-mode}&amp;amp;wsrp-windowState={wsrp-windowState}&amp;amp;wsrp-fragmentID={wsrp-fragmentID}/wsrp_rewrite</ns0:blockingActionTemplate>
  

<ns0:renderTemplate>wsrp_rewrite?wsrp-urlType=render&amp;amp;wsrp-navigationalState={wsrp-navigationalState}&amp;amp;wsrp-mode={wsrp-mode}&amp;amp;wsrp-windowState={wsrp-windowState}&amp;amp;wsrp-fragmentID={wsrp-fragmentID}/wsrp_rewrite</ns0:renderTemplate>
  

<ns0:resourceTemplate>wsrp_rewrite?wsrp-urlType=resource&amp;amp;wsrp-url={wsrp-url}&amp;amp;wsrp-requiresRewrite={wsrp-requiresRewrite}/wsrp_rewrite</ns0:resourceTemplate>
               <ns0:secureDefaultTemplate xsi:nil="1"/>  <ns0:secureBlockingActionTemplate><![CDATA[wsrp_rewrite?wsrp-urlType=blockingAction&amp;wsrp-secureURL=true&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:secureBlockingActionTemplate>
  

<ns0:secureRenderTemplate>wsrp_rewrite?wsrp-urlType=render&amp;amp;wsrp-secureURL=true&amp;amp;wsrp-navigationalState={wsrp-navigationalState}&amp;amp;wsrp-mode={wsrp-mode}&amp;amp;wsrp-windowState={wsrp-windowState}&amp;amp;wsrp-fragmentID={wsrp-fragmentID}/wsrp_rewrite</ns0:secureRenderTemplate>
  

<ns0:secureResourceTemplate>wsrp_rewrite?wsrp-urlType=resource&amp;amp;wsrp-secureURL=true&amp;amp;wsrp-url={wsrp-url}&amp;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 &amps 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/>&nbsp; 

    <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
"&amp;" 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&amp;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/>&nbsp; 

    <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:  '&lt;anonymous>'
has insufficient permission to access EJB:  type=&lt;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: '&lt;anonymous>' has  insufficient
permission to access EJB: type=&lt;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:*       <mailto:> 
              

*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:*      <mailto:> 
          

*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:*      <mailto:> 

*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.