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

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

有帮助吗?

解决方案

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

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

其他提示

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

如果我正确理解您的问题,您只需连接到现有的 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 中也有类似的情况。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top