Kaazing JMS客户端无法连接

时间:2016-05-02 08:32:06

标签: android cordova hybrid kaazing

我可以使用以下几行将我的混合Android应用程序与Kaazing连接:

 var jmsConnectionFactory;
 jmsConnectionFactory = new JmsConnectionFactory("ws://10.0.2.2:8888/jms");
 var connectionFuture = jmsConnectionFactory.createConnection(null, null, function () {/*something is done here*/}

gateway-config.xml的行是:

<service>
<name>JMS Service</name>
<description>JMS Service</description>   
 <accept>ws://10.0.2.2:8888/jms</accept>
<type>jms</type>

<properties>
  <connection.factory.name>GenericConnectionFactory</connection.factory.name>
  <context.lookup.topic.format>%s</context.lookup.topic.format>
  <context.lookup.queue.format>%s</context.lookup.queue.format>

  <env.java.naming.factory.initial>com.tibco.tibjms.naming.TibjmsInitialContextFactory</env.java.naming.factory.initial>
  <env.java.naming.provider.url>tcp://localhost:7222</env.java.naming.provider.url>
  <destination.strategy>session</destination.strategy>
</properties>
<accept-options>
  <ws.bind>localhost:8888</ws.bind>
</accept-options>
<realm-name>demo</realm-name>
<cross-site-constraint>
  <allow-origin>*</allow-origin>      
</cross-site-constraint>

这是错误

ConnectionFailedException : WebSocket connection failed"

最糟糕的是,它工作正常,我能够连接,但现在它无法正常工作。

我所做的是升级了我的nodejs已安装的cordova以升级它。现在我带回了所有东西,但它没有用。

1 个答案:

答案 0 :(得分:1)

在下面的内容中,KAAZING_GATEWAY_HOME表示安装Kaazing JMS Gateway的目录。

有几个移动部件 - 客户端,Kaazing JMS网关和EMS后端。问题可能是Kaazing JMS Gateway连接到后端的EMS,或者客户端试图连接到Kaazing JMS Gateway时可能存在问题。目前还没有太多细节。为了让我们进行故障排除,提供更多细节的一种方法是使Kaazing JMS Gateway上的日志记录更加详细。

默认情况下,日志写入KAAZING_GATEWAY_HOME / log /。有几个,但主日志是error.log。其默认的LOG4J配置位于KAAZING_GATEWAY_HOME / conf / log4j-config.xml中。通过使用以下内容替换该文件的内容,您可以获得更多关于两端连接问题的诊断信息(您可以制作备份副本以便稍后恢复默认日志配置):

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    <appender name="ErrorFile" class="org.apache.log4j.RollingFileAppender">
        <param name="File" value="${GATEWAY_LOG_DIRECTORY}/error.log"/>
        <param name="Append" value="false"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d [%t] %-5p %m%n"/>
        </layout>
    </appender>

    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d [%t] %-5p %m%n"/>
        </layout>
    </appender>

    <logger name="transport">
        <level value="trace"/>
    </logger>

    <logger name="com.kaazing.gateway.jms">
        <level value="trace"/>
    </logger>

    <logger name= "service.stomp.jms">
        <level value="trace"/>
    </logger>

    <logger name= "service.jms">
        <level value="trace"/>
    </logger>

    <root>
        <priority value="info"/>
        <appender-ref ref="ErrorFile"/>
        <appender-ref ref="STDOUT"/>
    </root>

</log4j:configuration>

将其复制到位后,请尝试重新连接。如果您在网关中看不到来自客户端的连接尝试的日志记录,则表示客户端代码或配置,客户端与网关之间或客户端计算机本身存在问题。否则,请分享更新此结果。结果应该加上时间戳,以便您可以确定哪些日志条目与您尝试连接的对应关系。

您可以在此处分享您的日志,也可以直接在以下地址与我分享。

请告诉我们。 最好的祝福, Dan Smith,Kaazing全球支持 daniel.smith@kaazing.com