CSDN专家博客精华版

为人民服务!
  首页  :: 新随笔  :: 管理

()Java Ee平台上实现Web服务及多种客户端实例-小结

问题解决

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

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 中.


Java Ee平台上实现Web服务及多种客户端实例结构图





结构图可以更清楚地了解前面实例中各个部件之间的关系。


JAVA EE 5平台上实现Web服务实例(模拟股票行情机)用蓝色表示。

瘦客户端(thin client)用黄色表示

胖客户端(rich client)用绿色表示

移动客户端(mobile client)用红色表示




参考:


http://uddi.org/


http://www.w3.org/TR/ws-arch/


http://zh.wikipedia.org/


http://www.netbeans.org/


http://www.java.net/



作者简介:

李力目前在Sun Microsystems任高级软件工程师,有近十年软件开发经验,曾就职于AIGCA等公司,任软件工程师及系统分析员等职位,在J2EE领域有丰富的实际开发经验。


 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1753373