RHQ Java Client libraries question

Steven North swn at ocsystems.com
Tue Sep 13 03:44:13 UTC 2011


Just to complete the discussion, stepping up to the 4.1 client libraries 
worked just fine with the 4.0.1 server.

Thanks for the help.

Steve

On 9/11/2011 11:56 AM, Steven North wrote:
> John,
>
> Thanks for the information.
>
> I think my next step is to try the 4.1 libraries with the 4.0.1 server,
> and assuming that works, which seems likely given your aim at backwards
> compatibility, that takes care of the immediate problems.  I think we
> can also structure our application to support multiple library versions
> in the future.
>
> Thanks again,
>
> Steve
>
> On 9/11/2011 9:00 AM, John Sanda wrote:
>> Definitely not a user error. The MANAGE_DRIFT enum constant was added
>> prior to the RHQ 4.1 beta release. It was not in earlier versions. In
>> your first stack trace note the following line,
>>
>> at org.rhq.enterprise.client.RemoteClient.login(RemoteClient.java:142)
>>
>> The login method returns a Subject which is getting a Permission objects
>> returned back with it. The Permission object you are getting back from
>> the server defines the new enum constant which you do not have on the
>> client, hence the InvalidObjectException. I just read
>> http://brian.pontarelli.com/2006/01/17/versioning-and-serialization-of-enums/
>> which talks about serialization/versioning issues with enums.
>>
>> Some interesting points are raised in that article, and this issue is
>> something we probably need to take a closer look at to ensure we are
>> effective in our efforts to maintain backwards compatibility.  In the
>> short term, upgrading the RHQ client libraries should resolve these
>> errors, and please feel free to file a bug for this so it is tracked.
>>
>> - John
>>
>> On 9/10/11 5:18 PM, Steven North wrote:
>>> John,
>>>
>>> I will admint that I sent the e-mail pretty early on in my investigation
>>> of the problem, so it could just be a user error.  ;-)
>>>
>>> Here are two different problems:
>>>
>>> org.jboss.remoting.CannotConnectException: Can not connect http client
>>> invoker. enum constant MANAGE_DRIFT does not exist in class
>>> org.rhq.core.domain.authz.Permission. Response: OK/200.
>>>         at
>>> org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:348)
>>>         at
>>> org.jboss.remoting.transport.http.HTTPClientInvoker.transport(HTTPClientInvoker.java:137)
>>>         at
>>> org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
>>>         at org.jboss.remoting.Client.invoke(Client.java:1634)
>>>         at org.jboss.remoting.Client.invoke(Client.java:548)
>>>         at org.jboss.remoting.Client.invoke(Client.java:536)
>>>         at
>>> org.rhq.enterprise.client.RemoteClientProxy.doInvoke(RemoteClientProxy.java:80)
>>>         at
>>> org.rhq.bindings.client.AbstractRhqFacadeProxy.invoke(AbstractRhqFacadeProxy.java:88)
>>>         at
>>> org.rhq.enterprise.client.RemoteClientProxy.invoke(RemoteClientProxy.java:64)
>>>         at $Proxy0.login(Unknown Source)
>>>         at org.rhq.enterprise.client.RemoteClient.login(RemoteClient.java:142)
>>>         at
>>> com.ocsystems.rtiee.util.jon.JonClientSession.<init>(JonClientSession.java:194)
>>>         at
>>> com.ocsystems.rtiee.util.jon.JonClientManager.getSession(JonClientManager.java:72)
>>>         at
>>> com.ocsystems.rtiee.util.jon.JonRemoteAccess.findJonPlatforms(JonRemoteAccess.java:455)
>>>         at
>>> com.ocsystems.rtiee.util.jon.JonRemoteAccess.findJonPlatform(JonRemoteAccess.java:426)
>>>         at
>>> com.ocsystems.rtiee.util.jon.model.JonHost.refreshPlatform(JonHost.java:154)
>>>         at
>>> com.ocsystems.rtiee.util.jon.model.JonHost.refresh(JonHost.java:112)
>>>         at
>>> com.ocsystems.rtiee.ui.commands.util.CommandUtil$1.run2(CommandUtil.java:83)
>>>         at
>>> com.ocsystems.rtiee.ui.status.StatusUpdateJob.run(StatusUpdateJob.java:40)
>>>         at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
>>> Caused by: java.io.InvalidObjectException: enum constant MANAGE_DRIFT
>>> does not exist in class org.rhq.core.domain.authz.Permission
>>>         at java.io.ObjectInputStream.readEnum(Unknown Source)
>>>         at java.io.ObjectInputStream.readObject0(Unknown Source)
>>>         at java.io.ObjectInputStream.readObject(Unknown Source)
>>>         at java.util.HashSet.readObject(Unknown Source)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>         at java.lang.reflect.Method.invoke(Unknown Source)
>>>         at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
>>>         at java.io.ObjectInputStream.readSerialData(Unknown Source)
>>>         at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
>>>         at java.io.ObjectInputStream.readObject0(Unknown Source)
>>>         at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
>>>         at java.io.ObjectInputStream.readSerialData(Unknown Source)
>>>         at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
>>>         at java.io.ObjectInputStream.readObject0(Unknown Source)
>>>         at java.io.ObjectInputStream.readObject(Unknown Source)
>>>         at java.util.HashSet.readObject(Unknown Source)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>         at java.lang.reflect.Method.invoke(Unknown Source)
>>>         at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
>>>         at java.io.ObjectInputStream.readSerialData(Unknown Source)
>>>         at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
>>>         at java.io.ObjectInputStream.readObject0(Unknown Source)
>>>         at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
>>>         at java.io.ObjectInputStream.readSerialData(Unknown Source)
>>>         at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
>>>         at java.io.ObjectInputStream.readObject0(Unknown Source)
>>>         at java.io.ObjectInputStream.readObject(Unknown Source)
>>>         at
>>> org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObjectVersion2_2(JavaSerializationManager.java:239)
>>>         at
>>> org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:133)
>>>         at
>>> org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:120)
>>>         at
>>> org.jboss.remoting.marshal.http.HTTPUnMarshaller.read(HTTPUnMarshaller.java:69)
>>>         at
>>> org.jboss.remoting.transport.http.HTTPClientInvoker.readResponse(HTTPClientInvoker.java:516)
>>>         at
>>> org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:307)
>>>         ... 19 more
>>> Caused by: java.lang.IllegalArgumentException: No enum const class
>>> org.rhq.core.domain.authz.Permission.MANAGE_DRIFT
>>>         at java.lang.Enum.valueOf(Unknown Source)
>>>         ... 56 more
>>> org.jboss.remoting.CannotConnectException: Can not connect http client
>>> invoker. enum constant MANAGE_DRIFT does not exist in class
>>> org.rhq.core.domain.authz.Permission. Response: OK/200.
>>>         at
>>> org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:348)
>>>         at
>>> org.jboss.remoting.transport.http.HTTPClientInvoker.transport(HTTPClientInvoker.java:137)
>>>         at
>>> org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
>>>         at org.jboss.remoting.Client.invoke(Client.java:1634)
>>>         at org.jboss.remoting.Client.invoke(Client.java:548)
>>>         at org.jboss.remoting.Client.invoke(Client.java:536)
>>>         at
>>> org.rhq.enterprise.client.RemoteClientProxy.doInvoke(RemoteClientProxy.java:80)
>>>         at
>>> org.rhq.bindings.client.AbstractRhqFacadeProxy.invoke(AbstractRhqFacadeProxy.java:88)
>>>         at
>>> org.rhq.enterprise.client.RemoteClientProxy.invoke(RemoteClientProxy.java:64)
>>>         at $Proxy0.login(Unknown Source)
>>>         at org.rhq.enterprise.client.RemoteClient.login(RemoteClient.java:142)
>>>         at
>>> com.ocsystems.rtiee.util.jon.JonClientSession.<init>(JonClientSession.java:194)
>>>         at
>>> com.ocsystems.rtiee.util.jon.JonClientManager.getSession(JonClientManager.java:72)
>>>         at
>>> com.ocsystems.rtiee.util.jon.JonRemoteAccess.findJonPlatforms(JonRemoteAccess.java:455)
>>>         at
>>> com.ocsystems.rtiee.util.jon.JonRemoteAccess.findJonPlatform(JonRemoteAccess.java:426)
>>>         at
>>> com.ocsystems.rtiee.util.jon.model.JonHost.refreshPlatform(JonHost.java:154)
>>>         at
>>> com.ocsystems.rtiee.util.jon.model.JonHost.refresh(JonHost.java:112)
>>>         at
>>> com.ocsystems.rtiee.ui.commands.util.CommandUtil$1.run2(CommandUtil.java:83)
>>>         at
>>> com.ocsystems.rtiee.ui.status.StatusUpdateJob.run(StatusUpdateJob.java:40)
>>>         at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
>>> Caused by: java.io.InvalidObjectException: enum constant MANAGE_DRIFT
>>> does not exist in class org.rhq.core.domain.authz.Permission(E) An error
>>> occurred finding the JON Platform: rhel5-64 - Can not connect http
>>> client invoker. enum constant MANAGE_DRIFT does not exist in class
>>> org.rhq.core.domain.authz.Permission. Response: OK/200.
>>>
>>>         at java.io.ObjectInputStream.readEnum(Unknown Source)
>>>         at java.io.ObjectInputStream.readObject0(Unknown Source)
>>>         at java.io.ObjectInputStream.readObject(Unknown Source)
>>>         at java.util.HashSet.readObject(Unknown Source)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>         at java.lang.reflect.Method.invoke(Unknown Source)
>>>         at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
>>>         at java.io.ObjectInputStream.readSerialData(Unknown Source)
>>>         at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
>>>         at java.io.ObjectInputStream.readObject0(Unknown Source)
>>>         at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
>>>         at java.io.ObjectInputStream.readSerialData(Unknown Source)
>>>         at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
>>>         at java.io.ObjectInputStream.readObject0(Unknown Source)
>>>         at java.io.ObjectInputStream.readObject(Unknown Source)
>>>         at java.util.HashSet.readObject(Unknown Source)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>         at java.lang.reflect.Method.invoke(Unknown Source)
>>>         at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
>>>         at java.io.ObjectInputStream.readSerialData(Unknown Source)
>>>         at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
>>>         at java.io.ObjectInputStream.readObject0(Unknown Source)
>>>         at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
>>>         at java.io.ObjectInputStream.readSerialData(Unknown Source)
>>>         at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
>>>         at java.io.ObjectInputStream.readObject0(Unknown Source)
>>>         at java.io.ObjectInputStream.readObject(Unknown Source)
>>>         at
>>> org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObjectVersion2_2(JavaSerializationManager.java:239)
>>>         at
>>> org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:133)
>>>         at
>>> org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:120)
>>>         at
>>> org.jboss.remoting.marshal.http.HTTPUnMarshaller.read(HTTPUnMarshaller.java:69)
>>>         at
>>> org.jboss.remoting.transport.http.HTTPClientInvoker.readResponse(HTTPClientInvoker.java:516)
>>>         at
>>> org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:307)
>>>         ... 19 more
>>> Caused by: java.lang.IllegalArgumentException: No enum const class
>>> org.rhq.core.domain.authz.Permission.MANAGE_DRIFT
>>>         at java.lang.Enum.valueOf(Unknown Source)
>>>         ... 56 more
>>>
>>>
>>> and:
>>>
>>> org.jboss.remoting.CannotConnectException: Can not connect http client
>>> invoker. Response: OK/200.
>>>         at
>>> org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:348)
>>>         at
>>> org.jboss.remoting.transport.http.HTTPClientInvoker.transport(HTTPClientInvoker.java:137)
>>>         at
>>> org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
>>>         at org.jboss.remoting.Client.invoke(Client.java:1634)
>>>         at org.jboss.remoting.Client.invoke(Client.java:548)
>>>         at org.jboss.remoting.Client.invoke(Client.java:536)
>>>         at
>>> org.rhq.enterprise.client.RemoteClientProxy.doInvoke(RemoteClientProxy.java:80)
>>>         at
>>> org.rhq.bindings.client.AbstractRhqFacadeProxy.invoke(AbstractRhqFacadeProxy.java:88)
>>>         at
>>> org.rhq.enterprise.client.RemoteClientProxy.invoke(RemoteClientProxy.java:64)
>>>         at $Proxy0.login(Unknown Source)
>>>         at org.rhq.enterprise.client.RemoteClient.login(RemoteClient.java:142)
>>>         at
>>> com.ocsystems.rtiee.util.jon.JonClientSession.<init>(JonClientSession.java:194)
>>>         at
>>> com.ocsystems.rtiee.util.jon.JonClientManager.getSession(JonClientManager.java:72)
>>>         at
>>> com.ocsystems.rtiee.util.jon.JonRemoteAccess.testConnection(JonRemoteAccess.java:1344)
>>>         at
>>> com.ocsystems.rtiee.ui.widgets.JonHostPropertiesWidget.testConnection(JonHostPropertiesWidget.java:202)
>>>         at
>>> com.ocsystems.rtiee.ui.widgets.JonHostPropertiesWidget$2.widgetSelected(JonHostPropertiesWidget.java:164)
>>>         at
>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
>>>         at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
>>>         at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
>>>         at
>>> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
>>>         at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
>>>         at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
>>>         at org.eclipse.jface.window.Window.open(Window.java:801)
>>>         at
>>> com.ocsystems.rtiee.ui.commands.NewHostCommand.execute(NewHostCommand.java:25)
>>>         at
>>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
>>>         at
>>> org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
>>>         at
>>> org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
>>>         at
>>> org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
>>>         at
>>> org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
>>>         at
>>> org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
>>>         at
>>> org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelection(CommandContributionItem.java:820)
>>>         at
>>> org.eclipse.ui.menus.CommandContributionItem.access$19(CommandContributionItem.java:806)
>>>         at
>>> org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(CommandContributionItem.java:796)
>>>         at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
>>>         at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
>>>         at
>>> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
>>>         at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
>>>         at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629)
>>>         at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593)
>>>         at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427)
>>>         at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
>>>         at
>>> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
>>>         at
>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663)
>>>         at
>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
>>>         at com.ocsystems.rtiee.product.Application.start(Application.java:29)
>>>         at
>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
>>>         at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
>>>         at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
>>>         at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
>>>         at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>         at java.lang.reflect.Method.invoke(Unknown Source)
>>>         at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
>>>         at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
>>>         at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
>>>         at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
>>> Caused by: java.io.EOFException
>>>         at
>>> org.jboss.remoting.transport.http.HTTPClientInvoker.readResponse(HTTPClientInvoker.java:528)
>>>         at
>>> org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:307)
>>>         ... 57 more
>>> org.jboss.remoting.CannotConnectException: Can not connect http client
>>> invoker. Response: OK/200.
>>>         at
>>> org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:348)
>>>         at
>>> org.jboss.remoting.transport.http.HTTPClientInvoker.transport(HTTPClientInvoker.java:137)
>>>         at
>>> org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
>>>         at org.jboss.remoting.Client.invoke(Client.java:1634)
>>>         at org.jboss.remoting.Client.invoke(Client.java:548)
>>>         at org.jboss.remoting.Client.invoke(Client.java:536)
>>>         at
>>> org.rhq.enterprise.client.RemoteClientProxy.doInvoke(RemoteClientProxy.java:80)
>>>         at
>>> org.rhq.bindings.client.AbstractRhqFacadeProxy.invoke(AbstractRhqFacadeProxy.java:88)
>>>         at
>>> org.rhq.enterprise.client.RemoteClientProxy.invoke(RemoteClientProxy.java:64)
>>>         at $Proxy0.login(Unknown Source)
>>>         at org.rhq.enterprise.client.RemoteClient.login(RemoteClient.java:142)
>>>         at
>>> com.ocsystems.rtiee.util.jon.JonClientSession.<init>(JonClientSession.java:194)
>>>         at
>>> com.ocsystems.rtiee.util.jon.JonClientManager.getSession(JonClientManager.java:72)
>>>         at
>>> com.ocsystems.rtiee.util.jon.JonRemoteAccess.testConnection(JonRemoteAccess.java:1344)
>>>         at
>>> com.ocsystems.rtiee.ui.widgets.JonHostPropertiesWidget.testConnection(JonHostPropertiesWidget.java:202)
>>>         at
>>> com.ocsystems.rtiee.ui.widgets.JonHostPropertiesWidget$2.widgetSelected(JonHostPropertiesWidget.java:164)
>>>         at
>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
>>>         at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
>>>         at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
>>>         at
>>> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
>>>         at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
>>>         at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
>>>         at org.eclipse.jface.window.Window.open(Window.java:801)
>>>         at
>>> com.ocsystems.rtiee.ui.commands.NewHostCommand.execute(NewHostCommand.java:25)
>>>         at
>>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
>>>         at
>>> org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
>>>         at
>>> org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
>>>         at
>>> org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
>>>         at
>>> org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
>>>         at
>>> org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
>>>         at
>>> org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelection(CommandContributionItem.java:820)
>>>         at
>>> org.eclipse.ui.menus.CommandContributionItem.access$19(CommandContributionItem.java:806)
>>>         at
>>> org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(CommandContributionItem.java:796)
>>>         at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
>>>         at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
>>>         at
>>> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
>>>         at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
>>>         at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629)
>>>         at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593)
>>>         at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427)
>>>         at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
>>>         at
>>> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
>>>         at
>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663)
>>>         at
>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
>>>         at com.ocsystems.rtiee.product.Application.start(Application.java:29)
>>>         at
>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
>>>         at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
>>>         at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
>>>         at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
>>>         at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>         at java.lang.reflect.Method.invoke(Unknown Source)
>>>         at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
>>>         at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
>>>         at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
>>>         at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
>>> Caused by: java.io.EOFException
>>>         at
>>> org.jboss.remoting.transport.http.HTTPClientInvoker.readResponse(HTTPClientInvoker.java:528)
>>>         at
>>> org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:307)
>>>         ... 57 more
>>>
>>> Thanks in advance for any help you can give.
>>>
>>> Steve
>>>
>>> On 9/9/2011 6:23 PM, John Sanda wrote:
>>>> The web services interface is not well supported. In fact there are APIs
>>>> that have been added to the Java remote APIs that have not been added to
>>>> the web services APIs. There has been some work started on a REST
>>>> interface, but that is not fully developed. I believe it is not yet in
>>>> master. I would stick with the remote Java APIs at least for the time being.
>>>>
>>>> We do make an effort to remain backwards compatible to the greatest
>>>> extent possible especially for minor releases. Can you provide examples
>>>> of the errors you are hitting?
>>>>
>>>> - John
>>>>
>>>> On 9/9/11 8:31 PM, Steven North wrote:
>>>>> Hi,
>>>>>
>>>>> We currently have a separate tool that connects to the RHQ server to get
>>>>> resource information and snapshots.  We use the RHQ Java Client
>>>>> "interface" and bind our Java tool with the RHQ Java Client libraries.
>>>>> That was working fine while we developed on RHQ 4.0 and 4.0.1, but now
>>>>> that we are testing against an RHQ 4.1 server we can't seem to connect
>>>>> with the 4.0 client libraries.  The documentation clearly warns us that
>>>>> we should use matching versions of the client libraries.  ;-)
>>>>>
>>>>> We are trying to plot our course forward in terms of how we build
>>>>> versions of our tool.  One way is to build different versions of our
>>>>> tool with different sets of libraries.  Or we could try to include both
>>>>> (or all) sets of libraries and choose the right one (somehow).  Or we
>>>>> can require users to point us to the right set of libraries.  All those
>>>>> options seem to have pitfalls.
>>>>>
>>>>> Would it be better for us to switch to the Webservices interface?  Would
>>>>> that give us better immunity to version changes?  Or are there the same
>>>>> issues?
>>>>>
>>>>> Thoughts?
>>>>>
>>>>> Thanks in advance,
>>>>>
>>>>> Steve
>>>>>
>>>>> _______________________________________________
>>>>> rhq-devel mailing list
>>>>> rhq-devel at lists.fedorahosted.org
>>>>> https://fedorahosted.org/mailman/listinfo/rhq-devel
>>>> _______________________________________________
>>>> rhq-devel mailing list
>>>> rhq-devel at lists.fedorahosted.org
>>>> https://fedorahosted.org/mailman/listinfo/rhq-devel
>>> _______________________________________________
>>> rhq-devel mailing list
>>> rhq-devel at lists.fedorahosted.org
>>> https://fedorahosted.org/mailman/listinfo/rhq-devel
>> _______________________________________________
>> rhq-devel mailing list
>> rhq-devel at lists.fedorahosted.org
>> https://fedorahosted.org/mailman/listinfo/rhq-devel
> _______________________________________________
> rhq-devel mailing list
> rhq-devel at lists.fedorahosted.org
> https://fedorahosted.org/mailman/listinfo/rhq-devel



More information about the rhq-devel mailing list