Re: [wsrp-interop] Producer is up again

From
David Ward <>
Date
2003-11-26T17:51:23+00:00
ID
Thread
Re: [wsrp-interop] Producer is up again
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:
            
          

          

            Tel:
            +44 118 924 5079
          

          

            Fax:
            +44 118 924 5005