给出NS_ERROR_FAILURE的Javascript客户端代码

时间:2013-12-09 11:44:12

标签: java javascript client-server thrift

我正在尝试一个thrift客户端 - 服务器hello world call。

服务器是用java编写的,客户端是用javascript编写的。

Client.html如下:

<html>
<script src="thrift.js" type="text/javascript"> </script>
<script src="helloWorld.js" type="text/javascript" ></script>
<script src="callServer.js" type="text/javascript" ></script>
<body>
Test The thrift call....
<button onclick="getInfo();">Click me</button>
</body>
</html>

上面的thrift.js是thrift javascript库版本8.0,而helloWorld.js是来自以下thrift idl的生成的js文件。

service helloWorld{
    string getWorld();
}

callServer.js

/*callServer.js*/
function getInfo() {
    alert("reached callServer.js");
    var url = "http://localhost:8080/myWebProj/HelloWorldServlet";
    var transport = new Thrift.Transport(url);
    var protocol  = new Thrift.Protocol(transport);


    var client    = new helloWorldClient(protocol);
     alert(client.getWorld());

}

在服务器端 我有一个在web.xml中映射的servlet和一个实现类

public class HelloWorldServlet extends TServlet{

    private static final long serialVersionUID = -3425847860067398133L;

    public HelloWorldServlet() {
        super(new HelloWorld.Processor(new Hworld()),
                new TJSONProtocol.Factory());
    }

}
public class Hworld implements HelloWorld.Iface{

    @Override
    public String getWorld() throws TException {
        // TODO Auto-generated method stub
        System.out.println(" in hello World .... ");
        return "Hello World";
    }

}

当我尝试点击服务器时,上面代码中的sysout成功打印。但是在客户端,我得到NS_ERROR_FAILURE。我想我做错了。请帮助我。如果需要任何其他信息,请将其发布为评论。

0 个答案:

没有答案