我正在运行配置为使用端口7787的Tomcat 6服务器。我必须从Silverlight应用程序发布数据到运行在此服务器上的servlet。当然,这是跨域的,所以它要求我在根目录下有clientaccessppolicy .xml。
我在这里和网上看到了关于这个的各种问题,所有的答案都是一样的。把xml放到webapps/ROOT目录下。如果我试图通过
访问xml,这是有效的http://somedomain/
然而,由于servlet在端口7787上运行,我必须发布到somedomain:7787,因此Silverlight试图在
下找到xmlhttp://somedomain:7787/
此操作不成功。
我确信Silverlight确实检查了一些域:7787的xml,因为我使用Firebug来确认它。tomcat配置中是否有任何我可以更改的内容,或者我可以将xml放在其他地方,以便Silverlight可以在端口7787下找到它。或者也许有什么我可以改变Silverlight方面的POST正在做?
在Windows机器上,只需将两个安全文件复制到Tomcat的webapps/ROOT文件夹中只要您能从…:7787/crossdomain.xml得到响应,无论如何解决方案是OK的。看起来Silverlight只关心响应。
我创建了一个Silverlight客户端,它可以从WCF服务和Tomcat获得响应。