我一直在使用公開soap和restful webservice的Enterprise應用程序。我在web.xml中使用了Restful webservice和跨域調用來實現CORS過濾器。現在我正在嘗試使用SOAP服務(我的ajax調用soap)。如何配置CORS在這裏進行過濾,以獲得在跨域使用CORS過濾器進行SOAP服務
添加摘錄
由於REST實現是servlet映射我有我的servlet映射這樣
<servlet-name>RestServlet</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.servicedata.service</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>RestServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
我已經在應用程序部署我的應用程序服務器, 我Applciation.xml看起來像這樣
<module>
<web>
<web-uri>UI.war</web-uri>
<context-root>Web</context-root>
</web>
</module>
<module>
<web>
<web-uri>Router.war</web-uri>
<context-root>Router</context-root>
</web>
因此,這將在被曝光3210 我可以用restclient打這個URL,我得到了一個響應。 正在調用Ajax的時候,我的應用程序不允許訪問我的服務。[驗證拒絕]
,所以我增加了一個CORS篩選對此
class ResponseFilter{
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletResponse httpServletResponse = (HttpServletResponse) response;
httpServletResponse.setHeader("Access-Control-Allow-Origin", "*");
httpServletResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
httpServletResponse.setHeader("Access-Control-Max-Age", "3600");
httpServletResponse.setHeader("Access-Control-Allow-Headers", "x-requested-with");
chain.doFilter(request, response);
}
}
在web.xml
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.servlet.ResponseFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/services/*</url-pattern>
</filter-mapping>
它適用於休息,這很好。在SOAP
的情況下,我的肥皂URL將http:<hostname>:<port>/Business/service/Manager
這是URL會在我的WSDL定義。
所以,當我嘗試訪問我的SOAP部署在我的應用程序是不允許跨access.Here起源是不允許的,因爲我有一個從本地server.localhost Ajax調用hostserver
我已經配置CORS因爲它是servlet映射。我該如何做SOAP服務。
「同樣的方式」。我認爲你已經嘗試過,並且遇到了問題,所以如果你需要幫助,你需要發佈具體信息。錯誤,配置,執行SOAP調用的JavaScript代碼,作品。 – Gimby 2015-02-10 15:45:04
Gimby我已經添加了我的代碼的片段 – Arun 2015-02-11 08:47:45