JAX-WS/WS-Addressing WAS 8.5.5 编译错误和无法访问WSDL错误
Posted 力群
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAX-WS/WS-Addressing WAS 8.5.5 编译错误和无法访问WSDL错误相关的知识,希望对你有一定的参考价值。
JAX-WS/WS-Addressing WAS 8.5.5 编译错误和无法访问WSDL错误
I tried to develop a sample WS-Addressing application with WAS 8.5.5 but got failure all the times. 参照了一些例子,试着在WAS8.5.5上做了一个简单的WS-Addressing应用,几天下来,总是碰到一样的莫名其妙的错误
@Addressing @WebService public interface ICalculator { public W3CEndpointReference getToken(); }
在Eclipse (kepler-SR2) + WAS8.5.5插件,错误信息是这么说的 "Class javax.xml.ws.wsaddressing.W3CEndpointReference may not be used as a return type or method parameter as it has inner types that are not public and static" 为了排除代码错误,我另建了一个应用,但是选择了Tomcat 7.0作为目标运行环境.结果同样的代码编译成功。 然后再试了RAD9+WAS8.5.5,结果同样编译成功。 究竟是什么导致的错误呢?
public W3CEndpointReference getToken() { ... return (W3CEndpointReference)ctx.get }
Web服务代码就一个类,把它打包发布到WAS8.5.5,
测试访问WSDL成功 http://localhost:9082/CalculatorWeb/CalculatorService/CalculatorService.wsdl 然后使用WAS8.5.5的wsimport工具(WAS_HOME/java/bin/wsimport)来生成客户端代码 wsimport -s .client_src http://localhost:9082/CalculatorWeb/CalculatorService/CalculatorService.wsdl 奇怪的事情发生了,生成的客户端代码居然报错“FileNotFoundException”,生成的Proxy居然莫名其妙地试图访问一个错误的URL http://localhost:9082/CalculatorWeb/CalculatorService/?wsdl. 这个结尾的"CalculatorService/?wsdl"而不是"CalculatorService?wsdl". 在Eclipse和RAD9中都测试过了,一样的错误。
以上是关于JAX-WS/WS-Addressing WAS 8.5.5 编译错误和无法访问WSDL错误的主要内容,如果未能解决你的问题,请参考以下文章
从 WAS8 迁移到 WAS9 时遇到 myFaces 错误?