【问题标题】:GWT send to remote server?GWT 发送到远程服务器?
【发布时间】:2013-06-05 09:16:42
【问题描述】:

我有一个 xml 文档需要发送到不属于我的远程服务器。

我有远程服务器的 url 和端口号,我尝试使用 RequestBuilder 实现传输。

代码示例:

RequestBuilder req= new RequestBuilder(RequestBuilder.POST, URL.encode(url));

req.setHeader("Content-Type", "application/x-www-form-urlencoded");
Request response = 
    req.sendRequest(message, new RequestCallback() {
       public void onError(Request request, Throwable exception) {  
           exception.printStackTrace();
       }
       public void onResponseReceived(Request request, Response response){    
           System.err.println(response.getText());    
       }
    });
} catch (RequestException e) {    
    Window.alert("Failed to send the request: " + e.getMessage());    
}

如果这不是这样做的方法,如果有人能解释必须做什么,将不胜感激。

顺便说一句,我得到的错误是:

发送请求失败:网址 www.test.net:8909 无效 或违反同源安全限制

【问题讨论】:

标签: java gwt xmlhttprequest gwt-rpc


【解决方案1】:

简单地说,同源政策规定,网页上运行的 JavaScript 代码不得与任何非来自同一网站的资源进行交互。存在此安全策略的原因是防止恶意 Web 编码人员创建窃取 Web 用户信息或损害其隐私的页面。虽然非常必要,但这项政策也有让 Web 开发人员生活困难的副作用。

你可以在下一个链接看到更多,

https://developers.google.com/web-toolkit/doc/latest/FAQ_Server#What_is_the_Same_Origin_Policy,_and_how_does_it_affect_GWT?

【讨论】:

  • 好的,谢谢,但是如何将消息发送到远程服务器?一定有办法吗?我只需要传输一条 XML 消息并从服务器获得响应。
  • 谢谢,但我已经读过了。由于我没有使用 JSON,我目前正在尝试找出如何制作代理。他们在谷歌网页上没有这样的例子。
  • 你可能会考虑设置你的其他服务器来处理跨源请求html5rocks.com/en/tutorials/cors
  • 我希望避免做大量的 javascript 工作,正在寻找 java 源代码解决方案。但我想它总是回到 javascript。
【解决方案2】:

您可能会考虑设置其他服务器来处理 Cross-Origin Resource Sharing

【讨论】:

    猜你喜欢
    • 2021-07-06
    • 2015-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多