2 Replies Latest reply on Dec 26, 2006 8:06 PM by Chris Laprun

    WSRP: problem with portal url rewriting in WSRP wsdls

    Jeremie Petit Newbie

      Hello,

      I'm trying to provide a JBoss Portal portlet as an external remote portal. I'm using JBoss Portal 2.6DR1 (the bundle found on the jboss download section, incl. the AS), but the problem is similar (and even worse because the port itself is lost, it's 8080 whichever the request URL port) on 2.4 & 2.4.1CR2:

      On Portal 2.6.DR1 I added the latest JBossWS stack (jbossws-1.0.4.GA), as found in the download sections (and I followed the installation instructions).

      when I request the WSRP wsld, using the URL http://jpetit2.emea.hpqcorp.net:8082/portal-wsrp/MarkupService?wsdl, I obtain the following:

      - <wsdl:definitions targetNamespace="urn:oasis:names:tc:wsrp:v1:wsdl"
       xmlns="http://schemas.xmlsoap.org/wsdl/"
      xmlns:bind="urn:oasis:names:tc:wsrp:v1:bind"
      xmlns:intf="urn:oasis:names:tc:wsrp:v1:intf"
      xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
      xmlns:tns="urn:oasis:names:tc:wsrp:v1:wsdl"
      xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
       <wsdl:import
       location="http://jpetit2:8082/portal-wsrp/MarkupService?wsdl&resource=wsrp_v1_bindings.wsdl"
       namespace="urn:oasis:names:tc:wsrp:v1:bind" />
      - <wsdl:service name="WSRPService">
      - <wsdl:port binding="bind:WSRP_v1_PortletManagement_Binding_SOAP" name="WSRPPortletManagementService">
       <soap:address location="http://jpetit2:8082/portal-wsrp/PortletManagementService" />
       </wsdl:port>
      - <wsdl:port binding="bind:WSRP_v1_Registration_Binding_SOAP" name="WSRPRegistrationService">
       <soap:address location="http://jpetit2:8082/portal-wsrp/RegistrationService" />
       </wsdl:port>
      - <wsdl:port binding="bind:WSRP_v1_Markup_Binding_SOAP" name="WSRPBaseService">
       <soap:address location="http://jpetit2:8082/portal-wsrp/MarkupService" />
       </wsdl:port>
      - <wsdl:port binding="bind:WSRP_v1_ServiceDescription_Binding_SOAP" name="WSRPServiceDescriptionService">
       <soap:address location="http://jpetit2:8082/portal-wsrp/ServiceDescriptionService" />
       </wsdl:port>
       </wsdl:service>
       </wsdl:definitions
      


      Remark as the domain name is missing from the 'location' URL:
      location="http://jpetit2:8082/portal-wsrp/MarkupService?wsdl&resource=wsrp_v1_bindings.wsdl"
      . This is an issue because the consumer and the provider are not in the same domain so the hostname only is not enough for the consumer.

      As I stated previously, the 2.4 (and 2.4.1RC2) are even worse in that the location strings start with
      http://jpetit2:8080/
      whichever the port configured in tomcat's server.xml.

      I'm looking for some help regarding this issue, because it currently prevents me from showcasing the WSRP capabilities of JBoss Portal in our environment.

      For the record, I'm working on Windows XP SP2, DB is the DB setup in the 2.6 bundle.

      Thank you
      Jeremie Petit


        • 1. Re: WSRP: problem with portal url rewriting in WSRP wsdls
          Chris Laprun Master

          Looking into it. Thanks for the report.

          • 2. Re: WSRP: problem with portal url rewriting in WSRP wsdls
            Chris Laprun Master

            Still trying to figure out why only the hostname is used... In the mean time, you can try to pass the full host name using the -b option of the run command when you launch AS. If this doesn't work, you can also modify portal-wsrp-client.jar/META-INF/jboss-client.xml to read:

            <jboss-client>
             <jndi-name>wsrp-client</jndi-name>
             <service-ref>
             <service-ref-name>service/ServiceDescriptionService</service-ref-name>
             <wsdl-override>http://jpetit2.emea.hpqcorp.net:8082/portal-wsrp/ServiceDescriptionService?wsdl</wsdl-override>
             </service-ref>
             <service-ref>
             <service-ref-name>service/MarkupService</service-ref-name>
             <wsdl-override>http://jpetit2.emea.hpqcorp.net:8082/portal-wsrp/MarkupService?wsdl</wsdl-override>
             </service-ref>
             <service-ref>
             <service-ref-name>service/RegistrationService</service-ref-name>
             <wsdl-override>http://jpetit2.emea.hpqcorp.net:8082/portal-wsrp/RegistrationService?wsdl</wsdl-override>
             </service-ref>
             <service-ref>
             <service-ref-name>service/PortletManagementService</service-ref-name>
             <wsdl-override>http://jpetit2.emea.hpqcorp.net:8082/portal-wsrp/PortletManagementService?wsdl</wsdl-override>
             </service-ref>
            </jboss-client>
            

            Hope this helps.