9 Replies Latest reply on Dec 11, 2008 11:34 AM by kconner

    jbr-listener - Is a WSDL published on JUDDI?

    sandrocchio_01

      Hi there,
      I managed to deploy a simple service which forward web service request to a service provider.

      As I am new with ESB, I am wondering how a client can now discover the end point created. Should the ESB pubblish the service descriptor on the JUDDI registry?

      If no, should it be done manually by the administrator?

      Thanks in advance


        • 1. Re: jbr-listener - Is a WSDL published on JUDDI?
          sandrocchio_01

          Today I "played" with the UDDI browser and I think to have found out the answer by myself.
          Aparently there's not trace of my ESB, I hoped that during deployment the new jbr gateway was automatically registered on JUDDI.
          Supposing I have to manually pubblish the service. how can I find the wsdl?

          Regards
          Alessandro Ilardo

          • 2. Re: jbr-listener - Is a WSDL published on JUDDI?
            kconner

            We do not publish wsdl information through the registry, it is only used (at present) to store the EPRs associated with the service.

            You can retrieve the WSDL from the contract application, check out the http://localhost:8080/contract/ link.

            • 3. Re: jbr-listener - Is a WSDL published on JUDDI?
              sandrocchio_01

              I get a 404 error.
              Should this web application installed on all release?
              Can you tell me the file name to look for into the deploy folder.

              Thanks for your help.

              • 4. Re: jbr-listener - Is a WSDL published on JUDDI?
                tfennelly

                Should be installed if the ESB is installed. As the URL might suggest, the name of the app is "contract.war" and it should be located in the "server/default/deploy" folder.

                • 5. Re: jbr-listener - Is a WSDL published on JUDDI?
                  scottdawson

                  Alessandro,
                  You should have a contract.war in the deploy folder. It's in the 4.4, 4.3 and 4.2.1 community releases. (Maybe further back but those are the ones I have on hand.)

                  Regards,
                  Scott

                  • 6. Re: jbr-listener - Is a WSDL published on JUDDI?
                    sandrocchio_01

                    I installed the ESB on JBoss 4.2 AS using an Ant script which was into the ESB release, unfortunatly for some how this web application was not copied (maybe a bug, because no errors appeared).
                    In anycase, I kept the the ESB package where I finally found it.
                    The application is simple so I've just moved into the deploy folder without any trouble.

                    I had a look on it and found a box with this:

                    Security:SoapClientListener
                    Receive WS request
                    JMS

                    * Endpoint: jms://127.0.0.1:1099/queue/eu.virtualLab.esb.jms.ESBinternalQueue
                    * Contract: Unavailable

                    HTTP

                    * Endpoint: http://localhost:8088
                    * Contract: Unavailable


                    Where should I find the wsdl path?

                    My jboss-esb.xml
                    <providers>
                     <jbr-provider host="localhost" name="localhost" protocol="http">
                     <jbr-bus busid="eu.virtualLab.esb" port="8088"/>
                     </jbr-provider>
                     <jms-provider connection-factory="ConnectionFactory" name="esbInternalChannel">
                     <jms-bus busid="JBossMQ">
                     <jms-message-filter
                     dest-name="queue/eu.virtualLab.esb.jms.ESBinternalQueue" dest-type="QUEUE"/>
                     </jms-bus>
                     </jms-provider>
                     </providers>
                     <services>
                     <service category="Security" description="Receive WS request" name="SoapClientListener">
                     <listeners>
                     <!-- Attach a listener for client request -->
                     <jms-listener busidref="JBossMQ" maxThreads="1" name="JMS-ESBListener"/>
                     <jbr-listener busidref="eu.virtualLab.esb" is-gateway="true"
                     maxThreads="1" name="WS-Gateway"/>
                     </listeners>
                     <actions mep="RequestResponse">
                     <action class="org.jboss.soa.esb.actions.soap.SOAPClient" name="RokebyIdentityManagerWS">
                     <property name="wsdl" value="https://xxxxxxxxxxxxxxxxxxxx?wsdl"/>
                     <property name="operation" value="CreateUser"/>
                     <property name="SOAPAction" value="urn:#CreateUserSoap"/>
                     <property name="http-client-property">
                     <http-client-property name="keystore" value="/opt/jboss-4.2.2.GA/server/default/conf/localhost.keystore" />
                     <http-client-property name="keystore-passw" value="xxxxxxx" />
                     </property>
                     </action>
                     </actions>
                     </service>
                     </services>
                    


                    • 7. Re: jbr-listener - Is a WSDL published on JUDDI?
                      sandrocchio_01

                      Again, I think to have found the answer by myself: WebserviceContractPublisher

                      Unfortunatly the documentation doesn't help me much
                      http://www.redhat.com/docs/en-US/JBoss_SOA_Platform/4.3.GA/html/Administration_Guide/publishing_a_contract_from_an_action.html



                      Has anyone managed to achieve what we are trying to do? If yes, can we have an help showing how to proceed?

                      Thanks

                      • 8. Re: jbr-listener - Is a WSDL published on JUDDI?
                        kconner

                        The SOAPProcessor action allows you to expose a co-located JBossWS webservice through the ESB and it is this that will expose the WSDL through the console application.

                        We do not yet have a mechanism to handle this for remote services, but it is something that is on our list.

                        There are examples of this action in the quickstarts, look for it within the webservice* quickstarts.

                        • 9. Re: jbr-listener - Is a WSDL published on JUDDI?
                          kconner

                          BTW This is something that you can change yourself if you need to. All you would need to publish a contract is to create an action using the @Publish annotation and have this refer to a publisher.

                          You can take a look at WebserviceContractPublisher for an example of this.