Re: [wsrp-interop] Producer is up again

From
David Ward <>
Date
2003-11-26T18:14:06+00:00
ID
Thread
Re: [wsrp-interop] Producer is up again
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;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.
      

      

    
    

-- 

------------------------------------------------------------------------
    

    

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

          

            Tel:
            +44 118 924 5079
          

          

            Fax:
            +44 118 924 5005