0 0

java客户端远程调用webservices接口报错10

客户端代码:
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
		org.apache.cxf.endpoint.Client client = dcf
//atcom.cpinfo.his.web.cron.beXml.main(beXml.java:29)				.createClient("http://192.168.1.190:8080/platform/services/person?wsdl");		
		Object[] objects = client.invoke("getMPIRegister","测试","调用webservices");
		System.out.println(objects[0].toString());

服务端接口代码:
public String getMPIRegister(
			@WebParam(name = "cons", targetNamespace="http://impl.person.com")String cons,
			@WebParam(name = "data", targetNamespace="http://impl.person.com")String data
			)throws Exception;

服务端接口实现方法:
public String getMPIRegister(
			@WebParam(name = "cons", targetNamespace="http://impl.person.com")String cons,
			@WebParam(name = "data", targetNamespace="http://impl.person.com")String data
			)throws Exception;
public String getMPIRegister(String cons, String data) throws Exception {
		System.out.println("cons=="+cons);
		System.out.println("data=="+data);
		return data;
	}

客户端提示报错:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/G:/kpf/his/WebRoot/WEB-INF/lib/slf4j-log4j12-1.5.8.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/G:/kpf/his/WebRoot/WEB-INF/lib/slf4j-simple-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
WARN  11-03 16:53:04,710 - Loading Bus extensions via META-INF/cxf/bus-extensions.xml (found url jar:file:/G:/kpf/his/WebRoot/WEB-INF/lib/cxf-2.2.9.jar!/META-INF/cxf/bus-extensions.xml) is deprecated.  Use META-INF/cxf/bus-extensions.txt instead.
WARN  11-03 16:53:04,788 - Loading Bus extensions via META-INF/cxf/bus-extensions.xml (found url jar:file:/G:/kpf/his/WebRoot/WEB-INF/lib/cxf-2.2.10.jar!/META-INF/cxf/bus-extensions.xml) is deprecated.  Use META-INF/cxf/bus-extensions.txt instead.
WARN  11-03 16:53:05,106 - method annotated by @PostConstruct throws exception when invoked
java.lang.reflect.InvocationTargetException
	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.common.injection.ResourceInjector.invokePostConstruct(ResourceInjector.java:345)
	at org.apache.cxf.common.injection.ResourceInjector.construct(ResourceInjector.java:124)
	at org.apache.cxf.bus.extension.ExtensionManagerImpl.loadAndRegister(ExtensionManagerImpl.java:206)
	at org.apache.cxf.bus.extension.ExtensionManagerImpl.initialize(ExtensionManagerImpl.java:118)
	at org.apache.cxf.bus.extension.ExtensionManagerBus.initialize(ExtensionManagerBus.java:147)
	at org.apache.cxf.bus.CXFBusFactory.createBus(CXFBusFactory.java:43)
	at org.apache.cxf.bus.CXFBusFactory.createBus(CXFBusFactory.java:36)
	at org.apache.cxf.bus.CXFBusFactory.createBus(CXFBusFactory.java:32)
	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:100)
	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:88)
	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:66)
	at org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:55)
	at org.apache.cxf.BusFactory.getDefaultBus(BusFactory.java:98)
	at org.apache.cxf.BusFactory.createThreadBus(BusFactory.java:164)
	at org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:154)
	at org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:139)
	at org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory.newInstance(JaxWsDynamicClientFactory.java:71)
	at com.cpinfo.his.web.cron.beXml.main(beXml.java:27)
Caused by: java.lang.NoClassDefFoundError: Lorg/eclipse/jetty/util/component/Container$Listener;
	at java.lang.Class.getDeclaredFields0(Native Method)
	at java.lang.Class.privateGetDeclaredFields(Class.java:2291)
	at java.lang.Class.getDeclaredFields(Class.java:1743)
	at org.apache.cxf.common.annotation.AnnotationProcessor.processFields(AnnotationProcessor.java:97)
	at org.apache.cxf.common.annotation.AnnotationProcessor.accept(AnnotationProcessor.java:69)
	at org.apache.cxf.common.injection.ResourceInjector.inject(ResourceInjector.java:117)
	at org.apache.cxf.common.injection.ResourceInjector.inject(ResourceInjector.java:111)
	at org.apache.cxf.bus.extension.ExtensionManagerImpl.loadAndRegister(ExtensionManagerImpl.java:205)
	at org.apache.cxf.bus.extension.ExtensionManagerImpl.getBeansOfType(ExtensionManagerImpl.java:270)
	at org.apache.cxf.bus.CXFBusImpl.getExtension(CXFBusImpl.java:99)
	at org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory.getJettyHTTPServerEngineFactory(JettyHTTPTransportFactory.java:84)
	at org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory.finalizeConfig(JettyHTTPTransportFactory.java:74)
	... 22 more
Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.util.component.Container$Listener
	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
	... 34 more
Exception in thread "main" java.lang.NoSuchFieldError: QUALIFIED
	at org.apache.cxf.service.model.SchemaInfo.setSchema(SchemaInfo.java:146)
	at org.apache.cxf.wsdl11.SchemaUtil.extractSchema(SchemaUtil.java:136)
	at org.apache.cxf.wsdl11.SchemaUtil.getSchemas(SchemaUtil.java:73)
	at org.apache.cxf.wsdl11.SchemaUtil.getSchemas(SchemaUtil.java:65)
	at org.apache.cxf.wsdl11.SchemaUtil.getSchemas(SchemaUtil.java:60)
	at org.apache.cxf.wsdl11.WSDLServiceBuilder.getSchemas(WSDLServiceBuilder.java:372)
	at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:339)
	at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:196)
	at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:172)
	at org.apache.cxf.wsdl11.WSDLServiceFactory.create(WSDLServiceFactory.java:119)
	at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:264)
	at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:204)
	at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:197)
	at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:152)
	at com.cpinfo.his.web.cron.beXml.main(beXml.java:29)

我在服务端的一个CXF一个工程里能够正常调用,但是在开放webservices接口的那个工程里缺无法调用。请问大家,这是什么情况?可能和JAVA有关嘛?

问题补充:atcom.cpinfo.his.web.cron.beXml.main(beXml.java:29)指向这段代码
org.apache.cxf.endpoint.Client client = dcf.createClient("http://192.168.1.190:8080/platform/services/person?wsdl");  
2013年3月11日 17:07

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

0 0

朋友,我得问题解决了,是JAR包冲突,你仔细看看吧,没准也是。

2013年3月22日 15:43
0 0

xception in thread "main" java.lang.NoSuchFieldError: QUALIFIED
at org.apache.cxf.service.model.SchemaInfo.setSchema(SchemaInfo.java:146)
at org.apache.cxf.wsdl11.SchemaUtil.extractSchema(SchemaUtil.java:136)
at org.apache.cxf.wsdl11.SchemaUtil.getSchemas(SchemaUtil.java:73)
at org.apache.cxf.wsdl11.SchemaUtil.getSchemas(SchemaUtil.java:65)
at org.apache.cxf.wsdl11.SchemaUtil.getSchemas(SchemaUtil.java:60)
at org.apache.cxf.wsdl11.WSDLServiceBuilder.getSchemas(WSDLServiceBuilder.java:372)
at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:339)
at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:203)
at org.apache.cxf.wsdl11.WSDLServiceFactory.create(WSDLServiceFactory.java:142)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:412)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:534)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:248)
at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:205)
at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:439)
at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:312)
at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:307)
at javax.xml.ws.Service.getPort(Service.java:161)
at com.zbxsoft.application.webservice.appservice.client.MessageClient.main(MessageClient.java:52)

我是报这个错误,我感觉我该引的都引了,自己做的DEMO好用,迁移到我们项目上就各种问题,我这个是运行时的错  Message client=service.getPort(Message.class); 这句抛的。不知道怎么解决了,希望看到的指点下

2013年3月21日 17:49
0 0

引用
at com.cpinfo.his.web.cron.beXml.main(beXml.java:27) 
Caused by: java.lang.NoClassDefFoundError: Lorg/eclipse/jetty/util/component/Container$Listener;

是不是缺少一引些包,还是jar包有损坏。

2013年3月12日 17:46

相关推荐

    cxf客户端调用axis服务端流程

    在Java开发中,CXF和Axis是两种广泛使用的Web服务框架。CXF主要用来创建和消费SOAP和RESTful Web服务,而Axis则是Apache组织早期推出的一款Web服务框架,主要用于SOAP服务。本文将深入探讨如何使用CXF客户端调用Axis...

    java调用远程接口传输数据的demo

    java调用远程接口传输数据的demo

    Java+Axis2调用Web Services 网络接口

    Java和Axis2是开发Web服务客户端的重要工具,用于调用基于SOAP协议的Web服务。本文将深入探讨如何利用Java和Axis2库来实现这一功能,同时结合提供的代码示例进行详细解析。 首先,Web服务是一种通过网络进行通信的...

    java调用soap接口案例

    Java调用SOAP(Simple Object Access Protocol)接口是Web服务交互中的常见操作,SOAP是一种基于XML的协议,用于在Web上交换结构化的和类型化的信息。本案例主要关注如何使用Java来实现SOAP请求并获取响应,具体我们...

    webservices客户端方式调用接口

    在本文中,我们将详细讨论如何使用客户端方式调用Web服务接口,以便进行测试和开发。 首先,我们需要理解Web服务的基本概念。Web服务通常采用SOAP(Simple Object Access Protocol)或REST(Representational State...

    Java webservice cxf客户端调用demo和服务端

    Java WebService CXF客户端调用和服务端的实现是企业级应用程序中常见的通信方式,它基于标准的SOAP(Simple Object Access Protocol)协议,提供了一种在分布式环境中交换信息的方法。CXF是一个开源框架,它简化了...

    Flex与java交互 远程调用方式

    通过MXML,你可以定义`RemoteObject`实例,指定服务端的目标URL和服务名,然后绑定到ActionScript方法,这些方法会在调用Java服务时触发。例如: ```xml destination="myServiceDestination"> (event)" fault=...

    http和WebService 调用接口Java代码demo

    对于SOAP-based的Web Service,Java开发者可以使用`@WebService`注解定义服务端接口,`@WebServiceClient`定义客户端调用。以下是一个简单的例子: ```java @WebService(targetNamespace = ...

    JAX-WS_Java API for XML Web Services

    5. **客户端代理(Client Proxy)**:JAX-WS为Web服务客户端自动生成代理类,使得客户端可以通过调用Java方法来调用远程Web服务。 6. **协议适配器(Protocol Adapter)**:支持多种传输协议,如HTTP、HTTPS,以及...

    JAVA访问WebServices接口的简单实例,android可用

    在Java和Android开发中,访问WebServices接口是常见的需求,用于获取服务器端的数据或者实现远程调用功能。本实例将详细介绍如何在Java(特别是针对Android环境)中实现对WebServices的调用。 首先,我们要理解Web...

    远程方法调用(客户端调用服务端的方法)源码

    在压缩包文件中,可能包含了服务端和客户端的示例代码,包括远程接口、远程实现类、启动服务器的代码以及客户端调用的示例。这些代码可以帮助我们理解RMI的工作原理,并提供了一个可运行的示例,便于学习和实践。

    Spring 远程调用 -- C# 访问java WEB 服务

    本示例聚焦于一个具体的场景:使用C#客户端远程调用基于Spring框架的Java Web服务。以下将详细阐述涉及的技术点。 首先,Spring框架是Java领域的一个核心组件,尤其在企业级应用开发中广泛使用。它提供了一个全面的...

    JAVA RMI远程调用方法代码

    - 创建并实现一个远程接口,该接口需要继承`java.rmi.Remote`接口,并声明可能抛出`RemoteException`的方法。 - 实现该远程接口,创建一个具体的类来完成实际的业务逻辑。 - 使用`UnicastRemoteObject`将远程对象...

    java调用.net发布的webservice(asmx)

    本文将详细讲解如何使用Java调用.NET发布的Web Service(ASMX),并解决在此过程中可能出现的SOAPAction报错和“Server not identified”错误。 首先,我们需要了解ASMX。ASMX是.NET Framework早期版本中用于创建...

    java调用json参数的webservice

    为了使得Java客户端能够调用WebService服务,需要使用一些工具,例如JAX-WS(Java API for XML Web Services),它是Java SE的一部分,用于创建WebService客户端和服务端。 综上所述,通过Java调用带有JSON参数的...

    java远程方法调用

    在RMI中,远程接口定义了客户端可调用的方法签名,而实现类则提供了这些方法的具体逻辑。远程对象的引用通过URL进行标识,客户端通过这个URL可以从服务器端获取远程对象并调用其方法。 #### 二、RMI的基本组件 RMI...

    用java调用.net接口的方法

    总的来说,调用.NET接口在Java中可以通过标准Web服务方式或RESTful接口实现,选择哪种方法取决于.NET接口的具体设计和项目需求。熟悉这些技术对于提高跨平台开发的效率至关重要。记得在实际应用中,一定要确保兼容性...

    java远程调用方法总结

    远程接口定义了可供远程调用的方法,它必须继承自`java.rmi.Remote`接口。远程对象则是实现了这个远程接口的类实例,它驻留在服务器端,负责处理客户端的调用请求。RMI通过Java序列化机制将方法调用和参数封装成消息...

    java调用webapi

    WebAPI通常指的是Web应用程序提供的接口,允许客户端(如Java应用)发送HTTP请求并接收响应。本压缩包包含了相关工具和示例,方便开发者理解和实践Java调用WebAPI的方法。 首先,我们看到压缩包中包含了一个名为`...

Global site tag (gtag.js) - Google Analytics