Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ME上的MQTT客户端连接出现异常_Java_Mqtt - Fatal编程技术网

Java ME上的MQTT客户端连接出现异常

Java ME上的MQTT客户端连接出现异常,java,mqtt,Java,Mqtt,我正在尝试将JavaMe应用程序客户端连接到MQTT代理。 我能够创建一个客户端,交叉检查客户端服务器URI 但当我尝试连接时,我看到异常: java.lang.NullPointerException - org/eclipse/paho/client/mqttv3/internal/MessageCatalog.getMessage(MessageCatalog.java:46) - org/eclipse/paho/client/mqttv3/MqttException.getMes

我正在尝试将JavaMe应用程序客户端连接到MQTT代理。 我能够创建一个客户端,交叉检查客户端服务器URI 但当我尝试连接时,我看到异常:

 java.lang.NullPointerException
 - org/eclipse/paho/client/mqttv3/internal/MessageCatalog.getMessage(MessageCatalog.java:46)
 - org/eclipse/paho/client/mqttv3/MqttException.getMessage(MqttException.java:200)
 - org/eclipse/paho/client/mqttv3/MqttException.toString(MqttException.java:208)
 - java/lang/String.valueOf(), bci=11
 - java/io/PrintStream.print(), bci=2
 - java/io/PrintStream.println(), bci=2
 - java/lang/Throwable.printStackTrace(), bci=2
 - java/lang/Throwable.printStackTrace(), bci=4
 - javameapp82/SimpleMqttClient.testMQTTClient(SimpleMqttClient.java:96)
 - javameapp82/JavaMEApp82.startApp(JavaMEApp82.java:50)
 - javax/microedition/midlet/MIDletTunnelImpl.callStartApp(), bci=1
 - com/sun/midp/midlet/MIDletPeer.startApp(), bci=5
 - com/sun/midp/midlet/MIDletStateHandler.startSuite(), bci=264
 - com/sun/midp/main/AbstractMIDletSuiteLoader.startSuite(), bci=38
 - com/sun/midp/main/CldcMIDletSuiteLoader.startSuite(), bci=5
 - com/sun/midp/main/AbstractMIDletSuiteLoader.runMIDletSuite(), bci=132
 - com/sun/midp/main/AppIsolateMIDletSuiteLoader.main(), bci=26
代码如下:

try {
    myClient = new MqttClient(BROKER_URL, MqttClient.generateClientId()); //, new MemoryPersistence());

                if(myClient == null)
                {
                    System.out.println("myClient = NULL");
                    return;
                }
                System.out.println("ServerURI: "+myClient.getServerURI());
               System.out.println("is Connected: "+myClient.isConnected());


                 System.out.println("Setting Call back");
    myClient.setCallback(new MqttCallback() {

                    @Override
                    public void connectionLost(Throwable cause) {
                        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
                    }

                    @Override
                    public void messageArrived(String topic, MqttMessage message) throws Exception {
                         // String payload = new String(message.getPayload());
                        System.out.println(topic+ "--->"+ new String(message.getPayload()));
                        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.

                    }

                    @Override
                    public void deliveryComplete(IMqttDeliveryToken token) {
                        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
                    }
                });


                 System.out.println("Trying to Connect to BROKER");
    myClient.connect(); 
                //  myClient.connect(connOpt);
                System.out.println("Subscribing to WORLD TOPIC");
                myClient.subscribe("world");
} catch (MqttException e) {

            System.out.println("--- Caught Exception ---");
           // System.out.println("Exception: "+e.toString());
    e.printStackTrace();
    System.exit(-1);
            return;
}
我在connect上得到了一个异常。例外情况如下:

 java.lang.NullPointerException
 - org/eclipse/paho/client/mqttv3/internal/MessageCatalog.getMessage(MessageCatalog.java:46)
 - org/eclipse/paho/client/mqttv3/MqttException.getMessage(MqttException.java:200)
 - org/eclipse/paho/client/mqttv3/MqttException.toString(MqttException.java:208)
 - java/lang/String.valueOf(), bci=11
 - java/io/PrintStream.print(), bci=2
 - java/io/PrintStream.println(), bci=2
 - java/lang/Throwable.printStackTrace(), bci=2
 - java/lang/Throwable.printStackTrace(), bci=4
 - javameapp82/SimpleMqttClient.testMQTTClient(SimpleMqttClient.java:96)
 - javameapp82/JavaMEApp82.startApp(JavaMEApp82.java:50)
 - javax/microedition/midlet/MIDletTunnelImpl.callStartApp(), bci=1
 - com/sun/midp/midlet/MIDletPeer.startApp(), bci=5
 - com/sun/midp/midlet/MIDletStateHandler.startSuite(), bci=264
 - com/sun/midp/main/AbstractMIDletSuiteLoader.startSuite(), bci=38
 - com/sun/midp/main/CldcMIDletSuiteLoader.startSuite(), bci=5
 - com/sun/midp/main/AbstractMIDletSuiteLoader.runMIDletSuite(), bci=132
 - com/sun/midp/main/AppIsolateMIDletSuiteLoader.main(), bci=26

不确定为什么会出现此异常,谢谢您的帮助。

该错误是由于paho客户端未能查看错误消息以查找早期异常。如果删除System.out.println(“异常:+e.toString());行,您将得到一个更有用的堆栈trace@hardillb我已经删除了该行,并更新了上面的异常详细信息。我又得到了几行信息,但仍然没有足够的信息,或者我无法理解itOK,所以它仍然希望消息目录打印stacktrace,这很奇怪。你的泛美卫生组织客户是从哪里来的?这是一个很难理解的错误翻译。这个J2ME paho客户端有点老了,这是真的。我看到了最新的,但不确定如何在NetBeans中包含和编译,错误是paho客户端未能查看错误消息以查找早期异常。如果删除System.out.println(“异常:+e.toString());行,您将得到一个更有用的堆栈trace@hardillb我已经删除了该行,并更新了上面的异常详细信息。我又得到了几行信息,但仍然没有足够的信息,或者我无法理解itOK,所以它仍然希望消息目录打印stacktrace,这很奇怪。你的泛美卫生组织客户是从哪里来的?这是一个很难理解的错误翻译。这个J2ME paho客户端有点老了,这是真的。我看到了最新的,但不确定如何在Netbeans中包含和编译