1 Reply Latest reply on Jun 29, 2004 12:11 PM by cbuckley

    RemoteAdaptorInvocationHandler - No Serializer Error

    cbuckley

      Hello below is client code I am trying to get to work.

      RemoteAdaptor ra =
      RemoteAdaptorInvocationHandler.createRemoteAdaptor(
      new URL("http://server/jboss-net/services/RemoteAdaptor"));

      System.out.println("Default Domain: "+ra.getDefaultDomain());

      //This throws "No Serializer..."
      System.out.println("Registered? "+
      ra.isRegistered(new ObjectName("jnms.test:service=Test")));


      When I try to run it I get the following exception


      java.io.IOException: No serializer found for class javax.management.ObjectName in registry org.apache.axis.encoding.TypeMappingImpl@153f67


      Has anyone used this? Can anyone point me in the right direction for solving this error, I spent some time looking for doing "Calls" and setting the serializers but didn't have much luck there either.

      thanks,

      Chris Buckley

        • 1. Re: RemoteAdaptorInvocationHandler - No Serializer Error
          cbuckley

          For those who care. I found my own solution using "Calls"

          // The connection URL.
          String endpoint = "http://roosevelt/jboss-net/services/RemoteAdaptor";

          Service service = new Service();
          Call call = (Call) service.createCall();
          call.setTargetEndpointAddress( new java.net.URL(endpoint) );
          //call.setOperationName("getDefaultDomain");
          //System.out.println("Default Domain: "+ call.invoke( new Object[]{}));

          QName qn = new QName("http://net.jboss.org/jmx", "ObjectNameType");
          call.registerTypeMapping(ObjectName.class, qn,
          new ObjectNameSerializerFactory(ObjectName.class, qn),
          new ObjectNameDeserializerFactory(ObjectName.class, qn));

          call.setOperationName("invoke");
          Object info = call.invoke(new Object[]{
          new ObjectName("jnms.test:service=HibernateTest"),
          new String("runCreateObjectAndChildTxTest"),
          new Object[]{"test"},
          new String[]{"String"}
          });
          //call.setOperationName("getMBeanCount");
          //Object info = call.invoke(new Object[]{});

          System.out.println("Info: "+info);