0 0

关于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)

2个答案 按时间排序 按投票排序

0 0

可能是你服务端发生了改变而客户端没有及时更新,可以在客户端设置属性JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.getProperties().put("set-jaxb-validation-event-handler", "false");

2012年11月27日 16:17
0 0

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

    【标题】"cxf2.7+spring4" 指的是Apache CXF 2.7版本与Spring框架4.1.5版本的整合应用。Apache CXF是一个开源的Java框架,主要用于构建和开发服务导向架构(SOA)中的Web服务。而Spring框架则是一个广泛使用的Java...

    spring3+cxf2.7 整合jar包

    这样的整合使得开发者能够在SpringMVC环境中方便地使用CXF来实现服务的发布和调用,提高应用的灵活性和可扩展性。 描述中提到的"springMVC整合cxf所需的jar包",意味着这个压缩包中包含了使得SpringMVC能够与CXF...

    CXF2.7+Spring3 Java WebService 集成用例

    在本文中,我们将深入探讨如何将Apache CXF 2.7与Spring 3框架集成,以便在Java环境中创建和消费Web服务。这是一个重要的技术组合,因为它允许开发人员利用Spring的依赖注入和管理能力,以及CXF的强大Web服务支持。...

    apache-cxf2.7.rar

    这个"apache-cxf2.7.rar"压缩包包含了Apache CXF 2.7.2版本的相关文件,该版本在当时是一个稳定且广泛使用的版本。在解压后,用户可以直接利用这些文件进行相关开发工作。 Apache CXF的核心功能之一是支持基于Web...

    公司spring3 cxf2.7 lib.zip

    标题中的"公司spring3 cxf2.7 lib.zip"表明这是一个与企业级Java开发相关的压缩文件,其中包含了Spring 3框架和Apache CXF 2.7版本的库文件。Spring是一个广泛使用的Java应用框架,而CXF则是一个用于构建和消费Web...

    CXF2.7+SPRING3.0.5+HIBERNATE3.6final+STRUTS2

    标题中的"CXF2.7+SPRING3.0.5+HIBERNATE3.6final+STRUTS2"代表了一个集成开发环境,其中包含了四个关键的技术框架:Apache CXF 2.7、Spring 3.0.5、Hibernate 3.6 Final以及Struts2。这些框架在Java Web开发中起着...

    ssm框架集成apache cxf2.7

    ssm(Spring+SpringMVC+Mybatis)框架集成apache cxf2.7,并同时集成了memecached(缓存服务器)+mongodb(NoSQL)+定时任务队列(Quartz).

    apache cxf 2.7 与 spring 3.0.2集成基础jar文件

    在与CXF集成时,Spring可以帮助管理CXF的服务生命周期,简化配置和增强服务的可测试性。 2. **CXF与Spring的集成方式**:通常有两种主要的集成方式。一是通过Spring的`&lt;bean&gt;`标签配置CXF服务,包括服务接口、实现...

    CXF+Spring+Tomcat发布WebService

    【标题】"CXF+Spring+Tomcat发布WebService"涉及的是使用Apache CXF框架与Spring框架结合,在Tomcat服务器上部署和消费Web服务的过程。这是一个常见的企业级应用开发场景,特别是对于实现基于SOAP协议的Web服务。...

    cxf tomcat发布

    【标题】"CXF在Tomcat上的发布"是关于如何将Apache CXF服务部署到Tomcat服务器中的技术实践。Apache CXF是一个开源的Java框架,主要用于构建和开发Web服务,支持SOAP、RESTful等多种通信模式。Tomcat则是一个广泛...

    ssh整合cxf(webservice)

    ssh框架整合cxf(webservice),ssh案例(增、删、改、查),发布webservice,客户端调用,该工程自带jar包,mysql连接池,自动建库、建表。 ①直接解压,导入ssh2cxf项目 ②用tomcat启动ssh2cxf项目 ③在浏览器输入...

    cxf-2.7.3与spring3整合开发步骤.

    总结,将CXF 2.7.3与Spring 3.0.7整合开发涉及到环境配置、接口和实现类的创建、服务发布以及客户端调用等步骤。理解并掌握这些步骤对于开发基于CXF的Web服务至关重要。在整个过程中,Spring的角色主要是管理服务...

    CXF发布WebService,jboss和tomcat都能发布

    在本教程中,我们将深入探讨如何使用CXF在JBoss和Tomcat这两种流行的Java应用服务器上发布Web服务。 ### 一、CXF WebService发布 1. **CXF环境搭建** 在开始之前,确保你已经安装了Java Development Kit (JDK) 和...

    gsoap_CXF_ssh_webservice应用实例

    gsoap CXF2.7.5 ssh vc++ webservice应用实例的源码。具体内容看博文《gsoap CXF2.7.5 ssh vc++ webservice应用实例(一)(二)(三)(四)》 http://blog.csdn.net/biboheart/article/details/11959935

    apache-cxf-2.7.5所有jar都在

    Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)和Web服务。这个"apache-cxf-2.7.5"压缩包包含的是CXF的特定版本2.7.5的所有相关JAR文件,这些文件是运行和开发CXF应用程序所必需的。 ...

    struts2+spring3+hibernate4+cxf2.7搭建webservice实例

    是eclipse导出的war文件,包含了资源。开发环境jdk1.7 tomcat7。 通过了测试,对应的文档:http://blog.csdn.net/biboheart/article/details/9148651, 有文档了,这里就不多说了。

    ssh+cxf整合发布webservice实例

    SSH+CXF整合发布Web服务(Webservice)实例详解 在软件开发中,SSH(Spring、Struts、Hibernate)是一个常见的Java EE应用框架组合,用于构建高效、可维护的企业级应用程序。CXF则是一个开源的Java服务堆栈,主要...

    Spring+CXF+tomcat开发webservice

    在IT行业中,构建Web服务是常见的任务,Spring、CXF和Tomcat的组合是一个流行的解决方案。这个项目"Spring+CXF+tomcat开发webservice"旨在教你如何利用这些技术搭建一个完整的Web服务环境,包括服务端和服务端客户端...

    Eclipse+CXF+Tomcat开发部署Web服务

    - **Tomcat**:安装并配置Tomcat服务器,确保其能正常运行。 3. **创建Web项目**: 在Eclipse中,通过`File—New—Project—Web—Dynamic Web Project`创建一个新的动态Web项目。设置默认输出文件夹为`WebContent...

    cxf+spring+tomcat

    【标题】"cxf+spring+tomcat"的组合是一个常见的Web服务开发环境,它将Apache CXF(一个用于构建和消费Web服务的开源框架)与Spring框架(一个广泛使用的Java企业级应用开发框架)以及Tomcat(一个流行的轻量级Java...

Global site tag (gtag.js) - Google Analytics