【问题标题】:Invoking web service from Liferay portal using proxy使用代理从 Liferay 门户调用 Web 服务
【发布时间】:2016-03-28 09:59:21
【问题描述】:

我正在尝试使用代理从 Liferay 门户调用 Web 服务。我已经设法在 IBM WebSphere 门户上这样做了,就像这样(调用“帮助”):

<portal_context_path>/proxy/http/<server_url>/<application_name>/help?lang=myLang&object=myObject

我正在使用 ajax 拨打电话:

    try {
        $.ajax({
            url: 'http://localhost:8080/LiferayTest-portlet/proxy/http/localhost:9081/ServiceApp/help?lang=myLang&object=myObject',
            headers: {
                'Accept': 'application/xml; charset=utf-8',
                'Content-Type': 'application/xml; charset=utf-8'
            },
            success: function(xml) {
                            ...
            },
            error: function(xhr, textStatus, errorThrown) {
                ...
            }
        });
    } catch (e) {
        ...
 }

问题是,如果我在 Liferay 门户上进行 ajax 调用,我会收到错误(404 未找到),但如果我从 WebSphere 门户(URL:http://localhost:10039/.WebSphereTest/proxy/http/localhost:9081/ServiceApp/help?lang=myLang&amp;object=myObject)调用它,它可以工作。

是否有类似的方法(例如使用/proxy/http)在 Liferay 门户上完成此操作?

【问题讨论】:

    标签: proxy liferay


    【解决方案1】:

    您的应用程序是否在 Liferay 内部运行,并且您试图通过代理调用外部的东西?在这种情况下,访问 Web 服务就像在其他任何地方一样。使用您选择的库来执行此操作。 Liferay 不为您提供代理 - 我不知道如果这样做会带来什么。

    编辑:如果您想访问 portlet 的“资源”阶段,例如通常用于 Ajax 的请求阶段,您只需要从 Liferay 获取资源 URL。 URL生成是底层平台的业务,规范性好。您似乎正在使用特定于 Websphere 的方式。在 JSP 中,您只需使用 &lt;portlet:resourceURL/&gt; 来获取在您的 portlet 的资源阶段处理的 URL,例如serveResource(...)

    另一种选择是使用您的 portlet 部署基于 servlet 的 web 服务(因为它在技术上只是一个 web 应用程序)但这完全超出了 portlet 领域,并且与 Liferay 完全无关。

    在 cmets 中被排除在外,我仍将这一段留在此处:如果您想使用 Liferay 自己的 API Web 服务,它们可以通过 JSONSOAP 获得。 SOAP 服务仅在 localhost 上可用,除非您将它们配置为可供更多主机使用。就像以前一样,我没有看到明确的、平台提供的代理的意义。

    【讨论】:

    • 非常感谢您的回复。我还用一些关于我的问题的附加信息更新了我的问题。是的,这是你提到的第一个案例。我正在通过代理调用“外面的东西”。但我不太明白,如何使相同的 URL (proxy/http/localhost:9081/ServiceApp/help?lang=myLang&amp;object=myObject) 从 Liferay 门户工作。
    • 查看我添加的段落
    • 非常感谢,您的建议很有帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多