跨域WebService请求 ——Nginx+SOAP服务+Ajax客户端

本文介绍如何通过Nginx反向代理解决跨域问题,以实现Ajax客户端对不同服务器上的SOAP服务的请求。详细步骤包括发布WebService、创建Web应用、配置Nginx、修改客户端URL以及测试过程。
摘要由CSDN通过智能技术生成

跨域WebService请求

——Nginx+SOAP服务+Ajax客户端

sf2gis@163.com

2015年12月14日

 

1 目标:将WebService和客户端部署在不同的服务器,由客户端请求服务。

2 原理:Nginx将不同域的HTTP服务、网站放入统一的域中,规避跨域问题。

不同的服务器位置于不同的域。JavaScript安全性不允许POST的跨域请求(GET可以与服务器配合使用JSONP,有些勉强)。SOAP只能使用POST请求,所以无法直接跨域。一般的解决方案是使用服务器代理(由同域服务器跨域请求后返回),但导致过于复杂(参见:Java-webservice-CXF-SOAP服务.docx服务器代理)。

3 流程:发布WebService,发布Web网站,设置Nginx反向代理,修正WebService的同域URL。

3.1 发布WebService:Java-webservice-CXF-SOAP服务.docx流程

3.2 发布Web网站:新建Dynamic Web Application,添加index.html作为请求的客户端,添加相关的js文件。

客户端详情参见:基于SOAP的Web服务AJAX客户端.docx

//index.html

<!DOCTYPE html>

<html>

<head>

<metacharset="UTF-8">

<title>Insert titlehere</title>

</head>

<scripttype="text/javascript"src="jquery-1.11.3.js"></script>

<body>

      <button type="button" id="name">Web服务请求-SOAP</button>

      <script type="text/javascript">

           $(function() {

                 $("#name").click(function() {

                      var mySoapXml = '<soap:Envelopexmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" '+

                               'xmlns:xsd="http://www.w3.org/2001/XMLSchema"'+

                               'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'+

                               '

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弗里曼的小伙伴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值