-------------------------------------------------------背景----------------------------------------------------------------------
此问题的背景产生于使用flexpaper在线预览pdf文件。
操作系统:linux
中间件:weblogic
应用部署在A服务器上(以下所述服务器均为linux),swf文件在B服务器的应应用上(据了解,flexpaper不能直接访问磁盘上的swf文件,要访问
应用中的文件,此处将swf文件挂在B服务器的应用上),当访问是,提示http://ip:port/crossdomain.xml该文件无法访问。各种百度之后,确定
问题为flash跨域访问的问题。
-------------------------------------------------------背景----------------------------------------------------------------------
解决方案:部署weblogic的跟应用。
部署方式:
1,新建文件夹,名字任意,我这里起名flashCross
2,在flashCross中创建文件crossdomain.xml,文件内容
<?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-access-from domain="*" /> <allow-http-request-headers-from domain="*" headers="*"/> </cross-domain-policy>
3,创建文件夹,WEB-INF
4,在flashCross/WEB-INF文件夹下,创建文件web.xml,文件中内容
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN " "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app id="WebApp_ID"> <display-name>flahCross</display-name> </web-app>
5,在flashCross/WEB-INF文件夹下,创建文件weblogic.xml,文件中内容
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1 //EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd"> <weblogic-web-app> <container-descriptor> <index-directory-enabled>true</index-directory-enabled> <default-mime-type>text/x-cross-domain-policy</default-mime-type> </container-descriptor> <context-root>/</context-root> </weblogic-web-app>
6,在weblogic的控制台安装flashCross这个应用
7,此时访问http://ip:port/crossdomain.xml ,地址可达。
在B服务器上安装crossdomain.xml 之后,A服务器上的应用通过flashpaper可以访问B服务器上的文件了。