我目前正在开发一个使用 RPC 调用的概念验证 Blackberry 应用程序。我还在 .Net 中开发了一个非常基本的服务器应用程序,它只是为发送给它的字符串加上时间戳并将其返回给客户端。我已经能够使用 .Net 客户端和 Java 客户端连接到服务器应用程序,因此我相当有信心它可以正常工作。
对于 Blackberry 客户端应用程序,我使用Java Wireless Toolkit 2.5.2为 RPC 调用生成存根。然后,我在一个基本的 Blackberry 应用程序中使用这些调用来尝试复制 .Net 和 Java 客户端的结果,但它不断抛出异常。我不确定我是否正确使用了存根。
pushScreen(new HelloWorldScreen("Initiating communication"));
try {
IHelloService_Stub stub = new IHelloService_Stub();
String result = stub.hello("Hello From Blackberry");
pushScreen(new HelloWorldScreen(result));
} catch (RemoteException e) {
pushScreen(new HelloWorldScreen(e.getMessage()));
}
目前我在本地运行一切。服务器作为 localhost 运行,Blackberry 应用程序在 Blackberry 模拟器上运行。我已经使用黑莓浏览器检查我是否可以访问该服务并且我可以,所以问题不是网络连接。
抛出的异常如下:
java.io.interruptedIOException:本地连接在 ~ 120000 之后超时