2011-04-09 79 views
0

大量的调查从Silverlight的调用Web服务后: Calling a Java Web service from silverlight throws an exceptionJava - localhost根文件夹?

我发现了我,我应该要创建一个clientaccesspolicy.xml文件,并把它放在应用程序的根文件夹中。我将它复制到我的ASPX(网页)的根文件夹中,但它没有帮助。我猜测根文件夹应该是我的Java服务的服务器的根文件夹。我在我的Win7 x64系统上安装了apache服务器,但是在停止之后,Java仍然工作,所以我猜测Eclipse IDE的服务器与Apache不同。

所以这里的主要问题是:Java Eclipse服务器的根文件夹在哪里?我应该在哪里放置该XML文件?

谢谢。

+0

不可能给出准确答案,因为没有在Java中做事的罐头之一。描述您的Java项目结构(是否有WebContent目录)和目标应用程序服务器(及其版本)。当你说“Apache”时,你指的是Tomcat还是常常位于它前面的Apache HTTP服务器? – McDowell 2011-04-09 16:12:35

+0

获取任何进程列表查看器,找到运行的tomcat,看看它的工作目录。如果我没有记错,Eclipse AppServers是在C:\的根目录下创建的,但我无法确定。 – 2011-04-09 16:45:34

回答

1

如果您正在使用Endpoint.publish(字符串)的自托管Java web服务,那么我认为无法添加更多文件以供传递,例如,一个crossdomain.xml

相反,您需要从一个自承载的web服务切换到一个服务器托管的web服务,如here所述(本教程使用Netbeans,但是Eclipse也应该可以使用类似的方法,即使它也是如此在这个例子中使用Netbeans可能会稍微容易一些)。由于Tomcat作为服务器使用,因此也可以交付相应的Silverlight项目文件,在这种情况下,您不需要crossdomain.xml

+0

感谢您的回复。我知道你已经阅读了我以前的文章,但是我不知道你是否知道我有一个可以使用的项目,并且它不是一个Web项目。主要的帖子是[这里](http://stackoverflow.com/questions/5595028/add-a-web-service-to-a-already-available-java-project)这就是一切开始的地方。但在教程中,据说会创建一个新项目。我该怎么办?我需要尽快完成这个项目!非常感谢您的帮助 – 2011-04-09 20:46:35

+1

对不起,我不知道你的问题是后续行动。也许有一个(复杂的)解决方案让Endpoint.publish()也可以按照下面的描述手动提供crossdomain.xml:[link] http://java.dzone.com/articles/java-se-endpoints-and(但是没有测试过我自己)。 – jCoder 2011-04-09 21:14:05

+0

哦,上帝!真的,你这次救了我的生命:D你发布的文章只是IT!我想要的。只是在该文章中复制了该课程,将该课程的端口更改为我的课程,并准备就绪。注意:您应该将** implements Provider **更改为** implements Provider ** – 2011-04-09 23:17:37