小编n00*_*ber的帖子

通过JavaScript的SOAP消息

这是其他人写的一个问题,但我无法理解所提出的解决方案.

我有一个在我的本地计算机上运行的非常简单的Java WebService服务器.我正在为我正在制作的游戏开发它.

我正在使用javax.jws.WebService创建它并使用javax.xml.ws.Endpoint按照此处的教程发布它:

http://www.ibm.com/developerworks/webservices/tutorials/ws-eclipse-javase1/

我将在我的本地计算机上发布它:

Endpoint.publish("http://MyComputerName:8080/subserver", new SubServer());
Run Code Online (Sandbox Code Playgroud)

我已经在我的路由器上转发了端口8080,并且我有一个静态IP地址.在外部我可以毫无问题地查看WSDL.

我的问题是,我想在我正在编写的JavaScript Canvas游戏中调用我的WebService方法.每当我发出请求时,我都没有得到任何响应,并且服务器上出现以下错误:

Mar 03, 2012 9:39:24 PM com.sun.xml.internal.ws.transport.http.server.WSHttpHandler handleExchange
WARNING: Cannot handle HTTP method: OPTIONS
Run Code Online (Sandbox Code Playgroud)

所以Chrome没有按照我的要求发出POST请求,但正在执行OPTION请求,因为显然我正在做跨域请求.当我的所有文件都在同一台服务器(我的本地计算机)上时,我不确定我是如何进行跨域请求的.

问题是我发布了MyComputerName的端点...但是传入的请求是MyExternalIPAddress ...?这就是为什么它被视为跨域请求?

我看过不同的选项,包括我不理解的JSONP(并且我认为我的WebService不支持它)但我认为我最好的选择是设置一个代理服务器 - 但是没有理解我为什么这样做跨域请求我不确定我到底在做什么.

对于能帮助我了解这里发生了什么和/或帮助我找到解决方案的人,我将非常感激.太令人沮丧了.我今天花了6个小时试图解决这个问题而没有任何运气.

javascript java apache proxy web-services

5
推荐指数
0
解决办法
1076
查看次数

标签 统计

apache ×1

java ×1

javascript ×1

proxy ×1

web-services ×1