使Glassfish响应OPTIONS HTTP方法调用

时间:2011-03-29 10:15:11

标签: javascript jquery ajax soap glassfish

我正在尝试使用Javascript / JQuery代码开发一个HTML页面,该代码与在Glassfish上运行的SOAP Web服务进行交互。

我正在尝试使用AJAX将Web服务调用作为POST HTTP方法请求。问题是Web服务运行在与提供页面的服务器不同的服务器上,由于跨域策略,导致我的浏览器(Firefox)首先执行OPTIONS HTTP请求以确定是否Web服务将允许POST请求。在Glassfish上运行的Web服务不会响应此OPTIONS请求。

我已经看到这可以在其他应用程序服务器中配置,方法是将Access-Control-Allow-Origin设置为一个模式,该模式识别应该接受的所有来源(例如'*'接受任何请求)。 如何让Glassfish响应OPTIONS请求?

2 个答案:

答案 0 :(得分:0)

Glassfish通过以下方式回答OPTIONS请求:

   Response Header:
      X-Powered-By[Servlet/3.0]
      Server[GlassFish Server Open Source Edition 3.0.1]
      Allow[GET, HEAD, POST, TRACE, OPTIONS]
      Content-Length[0]
      Date[Wed, 30 Mar 2011 14:57:39 GMT]

所以问题是:在哪里添加额外的HTTP-Header? 我完全不知道!也许别人可以帮忙?

答案 1 :(得分:0)

我现在决定通过在托管网页的服务器上部署代理Web服务来避免进行跨域调用(这应该避免发送OPTIONS请求)。

我还没有访问服务器,我还不太了解它,所以我希望这可以做到。