刚学习了一下webservice,基于jax-ws建立webservice
相对简单,如果童靴不懂,可以参考
讲的比较详细,这里就不作叙述了,在resin下发布,其他都跟其他工程是一样的,就是要把
JAX-WS所需要的包webservices-api.jar,webservices-extra.jar,webservices-extra-api.jar,webservices-rt.jar,webservices-tools.jar拷贝到lib目录下。这时候启动resin,会报一个错误
19:51:50.917] {Main Thread} WSSERVLET11: failed to parse runtime descriptor: java.lang.ExceptionInInitializerError
[19:51:50.917] {Main Thread} java.lang.ExceptionInInitializerError
[19:51:50.917] {Main Thread} at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:144)
[19:51:50.917] {Main Thread} at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:108)
[19:51:50.917] {Main Thread} at com.caucho.server.webapp.WebApp.start(WebApp.java:1866)
[19:51:50.917] {Main Thread} at com.caucho.server.deploy.DeployController.startImpl(DeployController.java:667)
[19:51:50.917] {Main Thread} at com.caucho.server.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:72)
[19:51:50.917] {Main Thread} at com.caucho.server.deploy.DeployController.startOnInit(DeployController.java:549)
[19:51:50.917] {Main Thread} at com.caucho.server.deploy.DeployContainer.start(DeployContainer.java:160)
[19:51:50.917] {Main Thread} at com.caucho.server.webapp.WebAppContainer.start(WebAppContainer.java:659)
[19:51:50.917] {Main Thread} at com.caucho.server.host.Host.start(Host.java:450)
[19:51:50.917] {Main Thread} at com.caucho.server.deploy.DeployController.startImpl(DeployController.java:667)
[19:51:50.917] {Main Thread} at com.caucho.server.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:72)
[19:51:50.917] {Main Thread} at com.caucho.server.deploy.DeployController.startOnInit(DeployController.java:549)
[19:51:50.917] {Main Thread} at com.caucho.server.deploy.DeployContainer.start(DeployContainer.java:160)
[19:51:50.917] {Main Thread} at com.caucho.server.host.HostContainer.start(HostContainer.java:484)
[19:51:50.917] {Main Thread} at com.caucho.server.cluster.Server.start(Server.java:1319)
[19:51:50.917] {Main Thread} at com.caucho.server.cluster.Cluster.startServer(Cluster.java:710)
[19:51:50.917] {Main Thread} at com.caucho.server.cluster.ClusterServer.startServer(ClusterServer.java:542)
[19:51:50.917] {Main Thread} at com.caucho.server.resin.Resin.start(Resin.java:703)
[19:51:50.917] {Main Thread} at com.caucho.server.resin.Resin.initMain(Resin.java:1162)
[19:51:50.917] {Main Thread} at com.caucho.server.resin.Resin.main(Resin.java:1365)
[19:51:50.917] {Main Thread} Caused by: java.lang.IllegalArgumentException: property "javax.xml.stream.supportDTD"
not supported
[19:51:50.917] {Main Thread} at com.caucho.xml.stream.XMLInputFactoryImpl.setProperty(XMLInputFactoryImpl.java:265)
[19:51:50.917] {Main Thread} at com.sun.xml.ws.api.streaming.XMLStreamReaderFactory.<clinit>(XMLStreamReaderFactory.java:89)
[19:51:50.917] {Main Thread} at com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:144)
…………
看网上好多人找这个问题,解决办法是在resin.conf配置修改一行代码
<!-- Uncomment to use Resin's XML implementations
-
- <system-property javax.xml.parsers.DocumentBuilderFactory
- ="com.caucho.xml.parsers.XmlDocumentBuilderFactory"/>
- <system-property javax.xml.parsers.SAXParserFactory
- ="com.caucho.xml.parsers.XmlSAXParserFactory"/>
-->
已经使用,就替换下面,如果没有使用,就加上下面的配置
<system-property javax.xml.stream.XMLInputFactory="com.sun.xml.internal.stream.XMLInputFactoryImpl" />
重新启动,成功,可以客户端调用了
分享到:
相关推荐
基于jax-ws 实现的web service client和server端的demo程序。 注:如果使用的是 myeclipse 时 server 部署到tomcat 启动的时候会报错 解决办法:找到myeclipse安装目录下的 plugins 目录里 查找 webservices-rt.jar,...
本篇将深入讲解如何基于JAX-WS开发一个WebService实例。 首先,让我们了解JAX-WS的基本概念。JAX-WS提供了一种简单的方式来创建SOAP(Simple Object Access Protocol)Web服务,它集成了Java SE和Java EE平台,使得...
3. **生成WSDL**:使用JAX-WS工具(如`wsimport`)自动生成WSDL文件,基于SEI接口。 4. **部署服务**:将实现类和WSDL部署到应用服务器,例如Tomcat或Jetty。 5. **生成客户端代理**:客户端使用`wsimport`工具或`...
在本教程中,我们将深入探讨如何使用JAX-WS来发布和调用Web服务。 ### 1. JAX-WS概述 JAX-WS提供了一种简化的方式,将Java方法映射到Web服务操作,反之亦然。它包括以下组件: - **Service Endpoint Interface ...
这个"jax-ws WebService客户端与服务端工程.rar"压缩包文件包含了一个完整的示例,展示了如何使用JAX-WS创建和消费Web服务。让我们深入探讨一下JAX-WS的核心概念和技术。 1. **Web服务基础**: - **SOAP(Simple ...
在"浔阳江上 - BlogJava.htm"和"MyEclipse6_5上基于JAX-WS开发Webservice(中文示例) - 浔阳江上 - BlogJava_files"这两个文件中,可能包含了作者在BlogJava网站上分享的具体步骤和示例代码,帮助读者更好地理解和...
通过定义服务接口,实现服务逻辑,以及使用`Endpoint.publish()`发布服务,我们可以轻松地创建一个基于JAX-WS的Web服务。同时,利用`wsimport`工具生成客户端代码,可以方便地进行服务调用。在"jax-ws-server"和"jax...
- `木材狼-servlet.jar`: 这可能是一个特定实现的Servlet容器,例如Tomcat或Jetty,用于运行基于JAX-RS或JAX-WS的服务。 - `provider.jar`: 这可能是一个JAX-RS或JAX-WS的具体实现,如Jersey或Apache CXF,提供了...
把这些JAR文件复制到Tomcat安装目录的`lib`子目录下,可以确保Tomcat在启动时加载这些依赖,从而支持JAX-WS服务的发布和执行。这一步骤对于那些没有内置JAX-WS支持的轻量级应用服务器,如Tomcat来说尤其重要。 在...
- **JAX-WS运行时环境**:Java EE应用服务器(如Tomcat、Glassfish、WildFly等)内置了JAX-WS支持,可以自动处理服务的生命周期,包括服务的发布、查找和取消发布。 4. **优势:** - **简单性**:JAX-WS使用注解...
**JAX-WS Web服务详解** Java API for XML Web Services(JAX-WS)是Java平台上用于构建和消费Web服务的标准API。它基于SOAP(Simple Object Access Protocol),用于创建面向服务架构(SOA)中的服务。JAX-WS是...
【标题】"MyEclipse基于JAX-WS开发Webservice+WebserviceClient客户端调用" 涉及到的关键技术主要包括MyEclipse集成开发环境、JAX-WS规范、Web服务(Webservice)以及客户端调用。下面将详细介绍这些概念及其相互...
使用 Eclipse JavaEE 开发 WebService 时,若选择手动创建原生的JAX-WS服务,需要导入此jar资源(教程详见我的博文https://blog.csdn.net/weixin_50604409/article/details/116399530)。 如果您同时装有 IntelliJ ...
MyEclipse8_0中使用 JAX-WS 部署 WebService 实例 - 外衣 - 博客频道 - CSDN_NET.mht
Java 基于第三方插件实现WebService实在麻烦,尤其是要添加几十M的Jar包...还好,自从JDK 1.6开始,Java自身已经支持WebSeervice的开发即JAX-WS,附件是一个简单的示例,供入门参考。注意,JDK环境要求1.6及以上版本。
讲解了从服务器端的开发,到Tomcat服务器部署,再到客服端调用,整个开发流程,并有实例代码
JAX-WS取代了早期的JAX-RPC(Java API for XML-based RPC),提供了一个更加现代、轻量级且基于标准的框架。 1. **SOAP与Web服务** SOAP(简单对象访问协议)是一种基于XML的协议,用于交换结构化的信息。Web服务...
在WebLogic服务器上部署JAX-WS服务时,可能会遇到一些配置问题。JAX-WS(Java API for XML Web Services)是Java平台上的一个标准,用于创建和部署Web服务。WebLogic作为一款强大的Java EE应用服务器,支持JAX-WS...
JAX-WS方式开发和部署webservice应用,JAX-WS方式开发和部署webservice应用,JAX-WS方式开发和部署webservice应用,JAX-WS方式开发和部署webservice应用,JAX-WS方式开发和部署webservice应用
jax-ws允许开发人员通过简单的编程模型来实现基于SOAP的Web服务,从而简化了Web服务的开发流程。 在MyEclipse环境中创建jax-ws Web服务的过程主要包括以下几个步骤: 1. **创建Web服务接口**:首先,你需要定义一...