2 Replies Latest reply on Dec 23, 2005 7:49 AM by Alejandro Guizar

    More than one external partnerLink

    Roy Forever Newbie

      Excuse me,

      I am making a process with total 3 partnerLink:
      - client: For create instance of the process
      - sessionFactory: Copy from ATM example
      - MyMath: http://www.jboss.com/index.html?module=bb&op=viewtopic&t=74284

      The process is about
      receive (client[myRole])
      invoke (sessionFactory[partnerRole])
      assign
      invoke (MyMath[partnerRole])
      assign
      invoke (MyMath[partnerRole])
      assign
      invoke (client[myRole])

      I have modified bpel-application.xml to have serviceCatalogs
      Then I deploy the process and check its WSDL
      http://127.0.0.1:8080/LoanRequest/client?wsdl
      Everything goes correct

      Unfortunately, when I test it using JUnit
      The test was complete but there are no partnerLink was invoked
      (I add some println within the partnerLink's methods)

      Afterward, I edit bpel-application.xml to remove one definitionCatalog
      Re-deploy the process and test it, it show an error as preferred
      That means I make mistake in bpel-application.xml

      Could you give me some sample about bpel-application.xml
      which has defined for two or more external partnerLink?

      bpel-application.xml
      <bpelApplication name="LoanRequest"
       xmlns="http://jbpm.org/bpel"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://jbpm.org/bpel
       http://jbpm.org/bpel/bpel_application_1_0.xsd">
       <partnerLinks>
       <partnerLink name="client">
       <myRole destination="jms/clientQueue" />
       </partnerLink>
      
       <partnerLink name="MyMath">
       <partnerRole>
       <wsa:EndpointReference
       xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
       <wsa:Address>USE_ACTUAL_URI_FROM_CATALOG</wsa:Address>
       <wsa:ServiceName xmlns:imp1="http://learning/MyMath">
       imp1:MyMath
       </wsa:ServiceName>
       </wsa:EndpointReference>
       </partnerRole>
       </partnerLink>
      
       <partnerLink name="sessionFactory">
       <partnerRole>
       <wsa:EndpointReference
       xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
       <wsa:Address>USE_ACTUAL_URI_FROM_CATALOG</wsa:Address>
       <wsa:ServiceName xmlns:ses="urn:samples:session">
       ses:sessionService
       </wsa:ServiceName>
       </wsa:EndpointReference>
       </partnerRole>
       </partnerLink>
       </partnerLinks>
      
       <serviceCatalogs>
       <definitionCatalog>
       <definition location="http://localhost:8080/session/sessionFactory?wsdl" />
       </definitionCatalog>
      
       <definitionCatalog>
       <definition location="http://localhost:8080/MyMath/MyMath?wsdl" />
       </definitionCatalog>
       </serviceCatalogs>
      </bpelApplication>
      


      Thank you very much. ^^
      Roy

        • 1. Closing topic
          Roy Forever Newbie

          I found the solution

          <serviceCatalogs>
           <definitionCatalog>
           <definition location="http://localhost:8080/session/sessionFactory?wsdl"/>
           <definition location="http://localhost:8080/MyMath/MyMath?wsdl"/>
           </definitionCatalog>
          </serviceCatalogs>
          


          ._. I spend lots of time in finding the solution

          Anyway thank you very much
          And enjoy X'mas ^^

          • 2. Re: More than one external partnerLink
            Alejandro Guizar Master

            Funny. When you have more than one service catalog, the engine creates a composite catalog which searches all the "leaf" catalogs. There are even unit tests proving it... Some bug should have found its way. Sorry about the time you spent. And merry xmas :-)