-
关于CXF2.7 SSH tomcat 6.0 发布时正常 控制台却经常报错30
最近在使用CXF2.7构建 WebService,使用Spring3 管理,发布的tomcat 6上,项目启动时正常,且Webservice接口调用正常,但是过不了多久就会报如下错误,不知道有没有人遇到过,虽说可以正常使用,但是还是不放心javax.xml.bind.UnmarshalException: unexpected element (uri:"http://schemas.xmlsoap.org/ws/2005/04/discovery", local:"Resolve"). Expected elements are <{http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01}AppSequence>,<{http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01}Bye>,<{http://www.w3.org/2005/08/addressing}EndpointReference>,<{http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01}Hello>,<{http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01}MetadataVersion>,<{http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01}Probe>,<{http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01}ProbeMatches>,<{http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01}Resolve>,<{http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01}ResolveMatches>,<{http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01}Scopes>,<{http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01}Security>,<{http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01}Sig>,<{http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01}SupportedMatchingRules>,<{http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01}Types>,<{http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01}XAddrs> at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:648) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:236) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:231) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:105) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext$DefaultRootLoader.childElement(UnmarshallingContext.java:1051) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:484) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:465) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.InterningXmlVisitor.startElement(InterningXmlVisitor.java:60) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXConnector.java:135) at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:228) at com.sun.xml.internal.bind.unmarshaller.DOMScanner.scan(DOMScanner.java:111) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:305) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:288) at org.apache.cxf.ws.discovery.internal.WSDiscoveryServiceImpl$WSDiscoveryProvider.invoke(WSDiscoveryServiceImpl.java:376) at org.apache.cxf.ws.discovery.internal.WSDiscoveryServiceImpl$WSDiscoveryProvider.invoke(WSDiscoveryServiceImpl.java:350) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180) at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96) at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.invoke(AbstractJAXWSMethodInvoker.java:178) at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:64) at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75) at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37) at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:107) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271) at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) at org.apache.cxf.transport.udp.UDPDestination$MCastListener$2.run(UDPDestination.java:107) at org.apache.cxf.workqueue.AutomaticWorkQueueImpl$3.run(AutomaticWorkQueueImpl.java:426) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at org.apache.cxf.workqueue.AutomaticWorkQueueImpl$AWQThreadFactory$1.run(AutomaticWorkQueueImpl.java:351) at java.lang.Thread.run(Thread.java:662)
2012年11月27日 15:24
2个答案 按时间排序 按投票排序
-
可能是你服务端发生了改变而客户端没有及时更新,可以在客户端设置属性JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.getProperties().put("set-jaxb-validation-event-handler", "false");2012年11月27日 16:17
-
unexpected element (uri:"http://schemas.xmlsoap.org/ws/2005/04/discovery", local:"Resolve").
原因:服务器端的Webservice的接口方法的参数没有设置好参数名称和命名空间
解决办法,使用@WebParam注解添加参数名称和命名空间
例如:
接口代码:package com.apj.webservice; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; @WebService(targetNamespace = "http://apj.vote.com", name = "VoteWebService", serviceName = "VoteWebService") public interface VoteWebService { @WebResult(name="return",targetNamespace="http://apj.vote.com") @WebMethod public String vote(@WebParam(name = "teamid",targetNamespace="http://apj.vote.com") long teamid); }
实现类:package com.apj.webservice.impl; import javax.ejb.Remote; import javax.ejb.Stateless; import javax.inject.Inject; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import org.jboss.logging.Logger; import com.apj.model.Team; import com.apj.webservice.VoteWebService; @WebService(targetNamespace = "http://apj.vote.com", name = "VoteWebService", serviceName = "VoteWebService") @Stateless @Remote(VoteWebService.class) public class VoteWebServiceImpl implements VoteWebService { @WebResult(name="return",targetNamespace="http://apj.vote.com") @WebMethod public String vote(@WebParam(name = "teamid",targetNamespace="http://apj.vote.com") long teamid) { System.out.println("team id ====" + teamid); return teamid + ""; } }
2012年11月27日 15:34
相关推荐
【标题】"cxf2.7+spring4" 指的是Apache CXF 2.7版本与Spring框架4.1.5版本的整合应用。Apache CXF是一个开源的Java框架,主要用于构建和开发服务导向架构(SOA)中的Web服务。而Spring框架则是一个广泛使用的Java...
这样的整合使得开发者能够在SpringMVC环境中方便地使用CXF来实现服务的发布和调用,提高应用的灵活性和可扩展性。 描述中提到的"springMVC整合cxf所需的jar包",意味着这个压缩包中包含了使得SpringMVC能够与CXF...
在本文中,我们将深入探讨如何将Apache CXF 2.7与Spring 3框架集成,以便在Java环境中创建和消费Web服务。这是一个重要的技术组合,因为它允许开发人员利用Spring的依赖注入和管理能力,以及CXF的强大Web服务支持。...
这个"apache-cxf2.7.rar"压缩包包含了Apache CXF 2.7.2版本的相关文件,该版本在当时是一个稳定且广泛使用的版本。在解压后,用户可以直接利用这些文件进行相关开发工作。 Apache CXF的核心功能之一是支持基于Web...
标题中的"公司spring3 cxf2.7 lib.zip"表明这是一个与企业级Java开发相关的压缩文件,其中包含了Spring 3框架和Apache CXF 2.7版本的库文件。Spring是一个广泛使用的Java应用框架,而CXF则是一个用于构建和消费Web...
标题中的"CXF2.7+SPRING3.0.5+HIBERNATE3.6final+STRUTS2"代表了一个集成开发环境,其中包含了四个关键的技术框架:Apache CXF 2.7、Spring 3.0.5、Hibernate 3.6 Final以及Struts2。这些框架在Java Web开发中起着...
ssm(Spring+SpringMVC+Mybatis)框架集成apache cxf2.7,并同时集成了memecached(缓存服务器)+mongodb(NoSQL)+定时任务队列(Quartz).
在与CXF集成时,Spring可以帮助管理CXF的服务生命周期,简化配置和增强服务的可测试性。 2. **CXF与Spring的集成方式**:通常有两种主要的集成方式。一是通过Spring的`<bean>`标签配置CXF服务,包括服务接口、实现...
【标题】"CXF+Spring+Tomcat发布WebService"涉及的是使用Apache CXF框架与Spring框架结合,在Tomcat服务器上部署和消费Web服务的过程。这是一个常见的企业级应用开发场景,特别是对于实现基于SOAP协议的Web服务。...
【标题】"CXF在Tomcat上的发布"是关于如何将Apache CXF服务部署到Tomcat服务器中的技术实践。Apache CXF是一个开源的Java框架,主要用于构建和开发Web服务,支持SOAP、RESTful等多种通信模式。Tomcat则是一个广泛...
ssh框架整合cxf(webservice),ssh案例(增、删、改、查),发布webservice,客户端调用,该工程自带jar包,mysql连接池,自动建库、建表。 ①直接解压,导入ssh2cxf项目 ②用tomcat启动ssh2cxf项目 ③在浏览器输入...
总结,将CXF 2.7.3与Spring 3.0.7整合开发涉及到环境配置、接口和实现类的创建、服务发布以及客户端调用等步骤。理解并掌握这些步骤对于开发基于CXF的Web服务至关重要。在整个过程中,Spring的角色主要是管理服务...
在本教程中,我们将深入探讨如何使用CXF在JBoss和Tomcat这两种流行的Java应用服务器上发布Web服务。 ### 一、CXF WebService发布 1. **CXF环境搭建** 在开始之前,确保你已经安装了Java Development Kit (JDK) 和...
gsoap CXF2.7.5 ssh vc++ webservice应用实例的源码。具体内容看博文《gsoap CXF2.7.5 ssh vc++ webservice应用实例(一)(二)(三)(四)》 http://blog.csdn.net/biboheart/article/details/11959935
Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)和Web服务。这个"apache-cxf-2.7.5"压缩包包含的是CXF的特定版本2.7.5的所有相关JAR文件,这些文件是运行和开发CXF应用程序所必需的。 ...
是eclipse导出的war文件,包含了资源。开发环境jdk1.7 tomcat7。 通过了测试,对应的文档:http://blog.csdn.net/biboheart/article/details/9148651, 有文档了,这里就不多说了。
SSH+CXF整合发布Web服务(Webservice)实例详解 在软件开发中,SSH(Spring、Struts、Hibernate)是一个常见的Java EE应用框架组合,用于构建高效、可维护的企业级应用程序。CXF则是一个开源的Java服务堆栈,主要...
在IT行业中,构建Web服务是常见的任务,Spring、CXF和Tomcat的组合是一个流行的解决方案。这个项目"Spring+CXF+tomcat开发webservice"旨在教你如何利用这些技术搭建一个完整的Web服务环境,包括服务端和服务端客户端...
- **Tomcat**:安装并配置Tomcat服务器,确保其能正常运行。 3. **创建Web项目**: 在Eclipse中,通过`File—New—Project—Web—Dynamic Web Project`创建一个新的动态Web项目。设置默认输出文件夹为`WebContent...
【标题】"cxf+spring+tomcat"的组合是一个常见的Web服务开发环境,它将Apache CXF(一个用于构建和消费Web服务的开源框架)与Spring框架(一个广泛使用的Java企业级应用开发框架)以及Tomcat(一个流行的轻量级Java...