Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 本地WSDL的FileNotFoundException_Java_Web Services_Jakarta Ee_Wsdl_Glassfish - Fatal编程技术网

Java 本地WSDL的FileNotFoundException

Java 本地WSDL的FileNotFoundException,java,web-services,jakarta-ee,wsdl,glassfish,Java,Web Services,Jakarta Ee,Wsdl,Glassfish,我尝试为我的jax-ws@Stateless@WebService bean-WebService实现一个消费者。该服务运行良好,我可以使用NetBeans/GlassFish的webservice测试功能成功地对其进行测试 使用者是使用与服务相同的ear部署的Servlet。我使用 @WebServiceRef(wsdlLocation = "http://localhost:8080/EchoService/EchoBean?wsdl") EchoService echo; 但是每当我打开

我尝试为我的jax-ws@Stateless@WebService bean-WebService实现一个消费者。该服务运行良好,我可以使用NetBeans/GlassFish的webservice测试功能成功地对其进行测试

使用者是使用与服务相同的ear部署的Servlet。我使用

@WebServiceRef(wsdlLocation = "http://localhost:8080/EchoService/EchoBean?wsdl")
EchoService echo;
但是每当我打开servlet时,我得到的只是一个带有以下根异常的堆栈跟踪

java.io.FileNotFoundException:
http://localhost:8080/EchoService/EchoBean/__container$publishing$subctx/null?WSDL
我可以从
http://localhost:8080/EchoService/EchoBean/?WSDL
在浏览器中,但我对
\u容器$publishing$subctx/null
部分没有任何线索,我的代码中没有提到这一部分

完整堆栈跟踪可在以下位置获得:


任何帮助都将不胜感激

如果您使用的是Glassfish 4,
@webservicef
注释在servlet和过滤器上无法正常工作。这是在GLASSFISH-20740下归档的。检查


HTH

在您的项目中,位于:

“您的项目名称”/Configuration Files/xml资源/web服务引用/“您的web服务名称”/wsdl/

复制“localhost_8080”文件夹并将其粘贴到:

“您的项目名称”/Web页面/Web-INF/wsdl。

也改变了:

@webservicef(wsdlLocation=”http://localhost:8080/EchoService/EchoBean.wsdl“”

致:


@webservicef(wsdlLocation=“WEB-INF/wsdl/localhost_8080/EchoService/EchoBean.wsdl”)

鉴于2013年9月报告了这一点,我的用例似乎并不常见。@jmaschad确实如此。大多数人为此目的使用外部客户端或会话bean。此外,Oracle最近放弃了对Glassfish的商业支持,因此报告的bug现在解决速度要慢得多,如果根本解决不了的话。从Java社区的角度来看,这是一个非常糟糕的决定,因为Glassfish是一个优秀的开源应用服务器,现在它只能作为JavaEE的参考实现。