-
JAX-WS/WS-Addressing WAS 8.5.5 编译错误和无法访问WSDL错误5
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应用,几天下来,总是碰到一样的莫名其妙的错误
====== 错误1: 编译错误,W3CEndpointReference不能作为返回类型.======
仿照一些例子,写了一个简单的SEI接口
@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,结果同样编译成功。
究竟是什么导致的错误呢?
====== 错误2: WEB服务访问错误地址 ======
因为错误1,我决定跳过SEI接口,直接写实现类。有趣的是,这回,返回类型W3CEndpointReference就不报错了。
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中都测试过了,一样的错误。2014年4月14日 22:33
目前还没有答案
相关推荐
JAX-WS提供了处理XML消息、WSDL(Web服务描述语言)和UDDI(统一描述、发现和集成)的标准API。与JAX-RS不同,JAX-WS通常涉及更复杂的配置和更多的协议层,但它的优势在于支持事务、安全性、可靠消息传递等高级特性...
Java API for XML Web Services(JAX-WS)是Java平台上用于构建和消费Web服务的标准API。它简化了创建和使用Web服务的过程,使得开发者能够通过SOAP消息与远程服务进行交互。JAX-WS允许开发者将服务接口直接映射到...
- **Service类**:JAX-WS提供的一个工具类,用于创建服务代理实例,通过指定WSDL URL和服务 QName 来获取服务端点。 3. **部署和运行:** - **部署描述符(web.xml)**:在Java EE环境中,JAX-WS服务通常通过部署...
- **JAX-WS服务类**:包含服务接口和其实现的Java源代码或编译后的类文件。 - **WSDL文件**:描述服务接口的XML文件,客户端通过它了解如何调用服务。 - **其他依赖**:可能包括服务所需的库文件(JARs)或其他支持...
使用`wsimport`工具,开发者可以从SEI生成WSDL和客户端存根代码。 4. **客户端代理(Proxy):**JAX-WS提供了客户端API,允许开发者通过代理对象调用Web服务。这些代理对象是由`wsimport`工具生成的,它们封装了与...
【标题】:Web服务之Java API for XML Web Services (JAX-WS) 【内容详解】 JAX-WS,全称为Java API for XML Web Services,是Java平台上的一个标准,用于构建和部署基于SOAP(Simple Object Access Protocol)的...
JAX-WS是基于SOAP(Simple Object Access Protocol)和WSDL(Web Services Description Language)的,旨在简化Web服务的开发和消费。通过提供强大的类型安全模型和与Java SE及Java EE平台的紧密集成,JAX-WS使得...
基于jax-ws 实现的web service client和server端的demo程序。 注:如果使用的是 myeclipse 时 server 部署到tomcat 启动的时候会报错 解决办法:找到myeclipse安装目录下的 plugins 目录里 查找 webservices-rt.jar,...
JAX-WS取代了早期的Java API for XML Processing (JAXP) 和SOAP with Attachments API for Java (SAAJ),提供了更加全面和集成化的Web服务解决方案。 JAX-WS的主要组成部分包括: 1. **服务端接口(Service ...
JAX-WS通过使用WSDL(Web服务描述语言)来定义服务接口,使得服务提供者和服务消费者之间的交互更加清晰和标准化。 ### 2. JAX-WS的工作原理 JAX-WS的核心组件包括: - **SOAP消息模型**:JAX-WS基于SOAP 1.1或...
标题中的“一个包含jax-ws和jax-rs的例子(含服务端和客户端)”是指这是一个示例项目,它演示了如何使用Java API for XML Web Services (JAX-WS)和Java API for RESTful Web Services (JAX-RS)来创建和消费Web服务。...
JAX-WS提供了一种简单的方式来创建SOAP(Simple Object Access Protocol)Web服务,它集成了Java SE和Java EE平台,使得开发者可以方便地实现服务接口和服务实现,然后通过工具自动生成WSDL(Web Service ...
【标题】"metro-jax-ws-jaxws221x.zip" 提供的是一个关于JAX-WS(Java API for XML Web Services)的开发示例,其中包含了JAX-WS 2.2.1版本的相关组件和库文件。这个压缩包是针对Java开发者设计的,用于帮助他们理解...
Java API for XML Web Services (JAX-WS) 是Java平台上的一个标准,用于构建和部署Web服务。JAX-WS RI(Reference Implementation)是这个规范的官方参考实现,它提供了开发、测试和运行基于SOAP(Simple Object ...
4. **webservices-rt.jar** - “Runtime”(运行时)JAR文件,通常包含JAX-WS的实现代码,如SOAP消息处理、WSDL(Web Services Description Language)解析和HTTP传输等。它是实际运行Web服务和客户端所必需的。 **...
JAX-WS 2.2 RI 所包含的JAR包集合,包含25个JAR包,列表如下: FastInoset.jar gmbal-api-only.jar ha-api.jar javax.annotation.jar javax.mail_1.4.jar jaxb-api.jar jaxb-impl.jar jaxb-xjc.jar jaxws-api...
Java API for XML Web Services(JAX-WS)是Java平台上的一个标准,用于构建和部署Web服务。它简化了Web服务的开发,使得Java开发者能够更方便地创建、调用和部署SOAP(Simple Object Access Protocol)服务。在这个...
使用 Eclipse JavaEE 开发 WebService 时,若选择手动创建原生的JAX-WS服务,需要导入此jar资源(教程详见我的博文https://blog.csdn.net/weixin_50604409/article/details/116399530)。 如果您同时装有 IntelliJ ...
4. **jaxws-tools.jar**: 包含了JAX-WS相关的工具,如wsimport和wsgen,它们分别用于从WSDL生成Java源代码和服务端点,以及从Java源代码生成WSDL。 5. **sjsxp.jar**: 这是Java Simple XML Parser (JSXP)的实现,是...
Java API for XML Web Services(JAX-WS)是Java平台上的一个标准,用于构建和部署Web服务。它简化了Web服务的开发,使得开发者能够使用Java编程语言来创建、调用和部署SOAP(Simple Object Access Protocol)服务。...