1

我正在尝试使用 PlanPlusOnline 帐户中的一些数据。他们只提供一个 java web 服务 API。将使用数据的站点的服务器不允许我安装 Tomcat(编辑:或 JVM)。我不会撒谎,我是一名 Java 软件工程师,同时我还做一些网络工作。我不熟悉 Web 服务或 servlet,但我愿意试一试。我更希望他们拥有对数据的 JSON 访问权限,但据我所知,他们没有。有任何想法吗?

编辑:澄清。planplusonline 提供的Web 服务是基于Java 的。我正在尝试在不使用 Java 的情况下从此 Web 服务访问数据。我相信现在这是可能的,但我需要做更多的研究。任何可以帮助我指出正确方向的人都会受到赞赏。

4

3 回答 3

1

为了跟进 jodonnell 的评论,几乎可以用任何服务器端语言建立 Web 服务连接。只是他们提供的 API 示例是用 Java 编写的,可能是因为 PlanPlusOnline 是用 Java 编写的。如果您有服务的 URL 和访问密钥,那么您真正需要做的就是弄清楚如何遍历返回的 XML。如果您不会使用 Java,那么我建议您使用 PHP,因为它可能已经安装,并且已经加载了适当的模块。此链接可能会有所帮助:

http://www.onlamp.com/pub/a/php/2007/07/26/php-web-services.html

于 2008-09-10T02:07:11.857 回答
0

您是否正在尝试为托管在其他地方的 Web 服务实现客户端?如果是这样,Java 就没有必要了。您可以使用.NETPHPRuby或几乎任何现代 Web 技术创建 Web 服务客户端。您只需要一个 WSDL 文档来提供有关如何调用服务的元数据。

于 2008-09-10T01:51:44.017 回答
0

如果我正确理解您的问题,您只需要连接到现有的 Web 服务,而不需要创建自己的 Web 服务。如果是这样的话,也许我遗漏了一些东西,我认为你根本不需要 Tomcat。如果您使用的是 Netbeans,您可以创建一个新的桌面或 Web 应用程序,然后右键单击项目名称。选择新建,然后选择其他,然后选择 Web 客户端。输入查找 WSDL 的位置信息(通常是 URL)和其他必需信息。

添加 WebClient 后,创建一个实际调用 Web 服务的新类。如果 Web 服务名称是 PlanPlusOnline,那么您可以使用以下内容:

public final class PlanPlusOnlineClient
{
    //instance to this class so that we do not have to reinstantiate it every time
    private static PlanPlusOnlineClient _instance = new PlanPlusOnlineClient();

    //generated class by netbeans with information about the web service
    private PlanPlusOnlineService service         = null;

    //another generated class by netbeans but this is a property of the service
    //that contains information about the individual methods available.
    private PlanPlusOnline port                   = null;

    private PlanPlusOnlineClient()
    {
        try
        {
            service = new PlanPlusOnlineService();
            port = service.getPlanPlusOnlinePort();
        }
        catch (MalformedURLException ex)
        {
            MessageLog.error(this, ex.getClass().getName(), ex);
        }
    }

    public static  PlanPlusOnlineClient getInstance()
    {
        return _instance;
    }

    public static String getSomethingInteresting(String param)
    {
         //this will call one of the actual methods the web 
         //service provides.
         return port.getSomethingIntersting(param);
    }    

}

我希望这对您有所帮助。您还应该查看http://www.netbeans.org/kb/60/websvc/ 以获取有关 Netbeans 和 Web 服务的更多信息。我确信它在其他 IDE 中是相似的。

于 2008-09-10T03:13:07.970 回答