【问题标题】:Webservice stubs in Blackberry app黑莓应用程序中的 Web 服务存根
【发布时间】:2010-10-20 07:03:45
【问题描述】:

我目前正在开发一个使用 RPC 调用的概念验证 Blackberry 应用程序。我还在 .Net 中开发了一个非常基本的服务器应用程序,它只是对发送给它的字符串加时间戳并将其返回给客户端。我已经能够使用 .Net 客户端和 Java 客户端连接到服务器应用程序,因此我相当有信心它可以正常工作。

对于黑莓客户端应用程序,我使用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 之后超时

【问题讨论】:

  • 它会抛出什么异常?
  • 好像是超时异常

标签: blackberry webservices-client


【解决方案1】:

尝试将 ;deviceside=true 附加到您的网址。这样就不需要使用 MDS 模拟器了。

【讨论】:

    【解决方案2】:

    看来,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

    【讨论】:

    • 感谢您的更新!我早就在我的电脑上解决了这个问题。我在 Eclipse 中开发,黑莓模拟器也作为 Eclipse 插件安装。我直接从 Eclipse 插件目录(C:\Program Files\eclipse\plugins\net.rim.ejde.componentpack5.0.0_5.0.0.25\components\MDS)运行 MDS。请注意,我正在运行 Windows 7,因此必须在管理员模式下启动我的命令提示符。不是最优雅的解决方案,但它对我有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多