Blackberry应用程序中的Web服务存根

时间:2010-10-20 07:03:45

标签: blackberry webservices-client

我目前正在开发使用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模拟器上运行。我已经使用Blackberry浏览器来检查我是否可以访问该服务,我可以这样,它不是网络连接问题。

抛出的异常如下:

  

java.io.interruptedIOException:本地连接在~120000之后超时

2 个答案:

答案 0 :(得分:2)

尝试追加;您的网址为deviceside = true。这应该不需要使用MDS模拟器。

答案 1 :(得分:0)

你解决了吗?我也使用Sun WTK 2.5.2为Web服务生成存根,并在BlackBerry模拟器中运行应用程序,该模拟器随Eclipse插件一起提供。我确实安装了MDS模拟器。我的错误与您的错误相同:

java.io.InterruptedIOException:本地连接在~120000之后超时

你能解决这个问题吗?是否需要在特定目录中安装MDS以便BlackBerry设备模拟器识别它?

干杯。

更新:啊,修好了。因此,似乎安装了 MDS。我最初安装在C:\ Program Files(x86)\ Research in Motion中,但随后在其他地方阅读了一篇建议,建议将其直接安装到C:\。令人惊讶的是,这就是诀窍和MDS现在运行。对于其他有MDS问题的人来说,这是一个故障排除链接:

http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/348583/800792/801079/Support_-_BlackBerry_Mobile_Data_Service_Simulator_does_not_launch.html?nodeid=800979&vernum=0