Details
-
Bug
-
Resolution: Cannot Reproduce
-
Major
-
None
-
7.9.0.Final
-
None
-
NEW
-
NEW
Description
I deployed Kie workbench & Kie server at version 7.9.0.Final
and I am going to set up client by using websocket API as provided here:
https://docs.jboss.org/drools/release/7.9.0.Final/drools-docs/html_single/index.html#_kie_server_controller_client_api
KieServerControllerClient client = KieServerControllerClientFactory.newWebSocketClient(URL_WS, USER, PASSWORD, new TestEventHandler()); final ServerTemplateList serverTemplateList = client.listServerTemplates(); System.out.println(String.format("Found %s server template(s) at controller url: %s", serverTemplateList.getServerTemplates().length, URL));
However, I got NPE since `serverTemplateList` is NULL.
I dig to the code and observed:
1. Server responses in JSON format:
'{ "type" : "SUCCESS", "msg" : "", "result" : { "server-template-list" : { "server-template" : [ { "server-id" : "kie-server-v1", "server-name" : "kie-server-v1", "container-specs" : [ ], "server-config" : { }, "server-instances" : [ { "server-instance-id" : "kie-server-v1@192.168.1.6:8180", "server-name" : "kie-server-v1@192.168.1.6:8180", "server-template-id" : "kie-server-v1", "server-url" : "http://192.168.1.6:8180/kie-server/services/rest/server" } ], "capabilities" : [ "RULE", "PROCESS", "PLANNING" ] } ] } } }'
2. But the decoder tries to unmarshall to the target object which is not defined well in JSON. It's defined in JAXB
org.kie.server.controller.api.model.KieServerControllerServiceResponse
@XmlAttribute private ResponseType type; @XmlAttribute private String msg; @XmlElements({ //Kie Server Controller model @XmlElement(name = "server-template-list", type = ServerTemplateList.class), @XmlElement(name = "server-template-details", type = ServerTemplate.class), @XmlElement(name = "server-template-key-list", type = ServerTemplateKeyList.class), @XmlElement(name = "server-template-key", type = ServerTemplateKey.class), @XmlElement(name = "container-spec-list", type = ContainerSpecList.class), @XmlElement(name = "container-spec-details", type = ContainerSpec.class), @XmlElement(name = "server-instance-key-list", type = ServerInstanceKeyList.class), @XmlElement(name = "server-instance-key", type = ServerInstanceKey.class), @XmlElement(name = "container-details-list", type = ContainerList.class) }) private T result;
Similar issues when I tried to register Event notification from Websocket (given in above link). All values are null.
I am not sure I am missing some configuration.
Any one help me please? Many Thanks.