6 Replies Latest reply on Jul 12, 2013 10:59 AM by tcunning

    MissingServiceException occured when Service Invoked using deliverySync

    nishbmishra

      I am getting the following error when I try to invoke my service using deliverySync Method of ServiceInvoker.

       

      org.jboss.soa.esb.listeners.message.MissingServiceException: Registry details for service [ServiceOne:ServiceOne] could not be determined from the registry.

       

      I am able to Invoke the same Service using DeliveryAsync Method whitout any change to the ESB.

      I am not sure why is this hapenning.

      I have created an InVM Transport and marked its scope as Global

      I have added RequestResponse mep in my esb xml:

      Below is my jboss-esb.xml--->

      <?xml version="1.0"?>

      <jbossesb parameterReloadSecs="5"

      xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd"

      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd http://anonsvn.jboss.org/repos/labs/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">

      <services>

        <service category="ServiceOne"

         description="This is for Local Testing only" invmScope="GLOBAL" name="ServiceOne">

         <property name="maxThreads" value="5"/>

         <actions mep="RequestResponse">

          <action class="com.hp.action.MyCustomAction" name="MyCustomAction">

           <property name="okMethod" value="processSuccess"/>

          </action>

         </actions>

        </service>

      </services>

      </jbossesb>


      This is my InvokerMethod:

       

      public static void main(String[] args) throws Exception {

                          System.setProperty("javax.xml.registry.ConnectionFactoryClass",

                                              "org.apache.ws.scout.registry.ConnectionFactoryImpl");

                          System.out.println("Calling Service");

                          Message esbMessage = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);

                          esbMessage.getBody().add("Chapter 3 says Hello via ServiceInvoker!");

                           new ServiceInvoker("ServiceOne","ServiceOne").deliverSync(esbMessage,5000);

       

       

      My Custom Action Method simply Puts the Message Content on console.

       

      Please let me know if there is something I misssed. Why am I not able to invoke with Sync while I am able to when i am able to do it Async?