在Netbeans Web服务项目中将clientaccesspolicy.xml放在何处?

时间:2010-09-02 13:13:46

标签: web-services netbeans silverlight-4.0 cross-domain

我使用 Netbeans 6.9 开发Web服务,并使用嵌入式glassfish服务器来部署我的Web服务( http://some_domain/project_name/ws_for_sl4 )。在另一台服务器上部署了Silverlight 4客户端,该客户端应该可以访问Webservice。

我知道我必须拥有 clientaccesspolicy.xml (在 http://some_domain/project_name 下),但我不知道该怎么做。我的意思是,我不知道在netbeans项目的哪个文件夹中我需要将clientaccesspolicy.xml放在嵌入式glassfish服务器上自动部署。让我的SL4客户端使用webservice。

2 个答案:

答案 0 :(得分:1)

解决方案:   - 在/ Web Pages *下放置 clientaccesspolity.xml crossdomain.xml   - 打开项目属性(在项目根目录上单击鼠标右键),转到“运行”,然后删除“上下文路径”的值。

现在,您的WS将直接部署在 some_domain 下,因为SL4需要它(SL4正在域名下查找这些文件)。 SL4访问 clientaccesspolity.xml crossdomain.xml 没有问题。

答案 1 :(得分:0)

如果有人不喜欢将他们的web服务移动到“root”,而是更喜欢将它放在http://localhost:8080/aDifferentLocation/MyActualWebService中,那么将这些XML放在项目Web Pages文件夹中就不会削减它。

http://localhost:8080/aDifferentLocation/clientaccesspolicy.xml  和  http://localhost:8080/aDifferentLocation/crossdomain.xml

不起作用,因为它们需要在

http://localhost:8080/clientaccesspolicy.xml  和  http://localhost:8080/crossdomain.xml

要实现此目的,您必须追踪安装GlassFish服务器的文件夹,让我们将其称为[GlassFishInstallPATH]并将XML粘贴到名为docroot的子文件夹中:

[GlassFishInstallPATH]/domains/domain1/docroot/< - 这里是XML。 (source)


如果您想知道如何在Eclipse中执行相同操作,则必须在Eclipse J2EE工作区中跟踪ROOT文件夹:

C:\Eclipse_j2ee_workspaces\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\ROOT/< - XML转到这里。