Java EE 5实现Web服务(Web Services)及多种客户端实例-小结

本文介绍了在使用WebService和JAXB时可能遇到的两种常见错误及其解决方案。一种是因未启动应用服务器导致无法访问WSDL文件的问题;另一种是由于Java SE6平台上的JAXB版本不匹配引发的LinkageError错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


问题解决

在开发过程中,可能会遇到以下问题:

1.错误信息:

javax.xml.ws.WebServiceException: Failed to access the WSDL at: http://localhost:8080/StockQuoteWS/StockQuoteService?WSDL. It failed with:

Connection refused: connect.

at Connection refused: connect.

at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:136)

at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:122)

at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:226)

......

原因及解决方法:

Web服务需要部署在服务器上,上面的错误信息往往是因为没有启动应用服务器NetBeans "运行环境"tab中,"服务器"->"Sun Application Server 9" -> 启动


2. 错误信息

java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/C:/Java/netbeans-5.5.1/ide7/modules/ext/jaxws21/jaxb-impl.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. (See http://java.sun.com/j2se/1.5.0/docs/guide/standards/)

at com.sun.xml.bind.v2.model.impl.ModelBuilder.<clinit>(ModelBuilder.java:136)

at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:406)

at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:270)

......


原因及解决方法:

这种错误通常发生在Java SE 6(JDK 6)平台上,因为Java SE 6(JDK 6)缺省自带的是 JAXB 2.0 和 JAX-WS 2.0.最简单的办法是把NetBeans 5.5.1 中自带的JAXB 2.1 和 JAX-WS 2.1 拷贝到Java SE 6(JDK 6)平台中去.具体做法如下,在Java 平台的JRElib目录下建立endorsed目录,比如"C:\Java\jdk1.6.0\jre\lib\endorsed",然后在NetBeans 5.5.1 中找到jaxb-api.jarjaxws-api.jar两个文件,比如在目录"C:\Java\netbeans-5.5.1\ide7\modules\ext\jaxws21\api"下.

把这两个jar文件从NetBeans 5.5.1中拷贝到 C:\Java\jdk1.6.0\jre\lib\endorsed 中.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值