webservice中碰到的问题: Could not initialize Service NoSuchMethodException getPortClassMap()
情况如下:A应用是用jaxws编写的web service客户端,单独运行该客户端成功。
B应用是基于xfire的web service服务,在B中调用A,结果在构造一个Service类的似乎出了上面的错,该类是javax.xml.ws.Service的子类。
在javax.xml.ws.Service中并没有方法getPortClassMap(),那么为什么会报NoSuchMethodException getPortClassMap()这个错呢?
查看javax.xml.ws.Service的源代码,该类的构造函数调用了javax.xml.ws.spi.Provider来创建Service类的代理,程序就是在这一步出错的。
经过搜索,网上建议删除xfire包后该错误会消失,所以判断是类加载的问题。
xfire的包在tomcat/webapps/app/web-inf的lib下,其加载顺序高于由根classloader加载的jdk中的javax.xml.ws.spi.Provider,所以在创建Service的代理的时候没有使用jdk自带的javax.xml.ws.spi.Provider,而是使用了xfire包中的javax.xml.ws.spi.Provider。
基于以上判断,我删除了xfire包中的jaxws子包,搞定!
分享到:
相关推荐
PHP webservice SOAP解决Could not connect to host
在给出的标题 "java.lang.NoSuchMethodException: .getPortClassMap()" 中,问题在于尝试访问名为 `.getPortClassMap()` 的方法,但该方法在相应的类中没有被定义。 首先,我们需要理解异常的来源。`....
WebService::Simple - Web 服务 API 的简单接口 概要 use WebService::Simple; # Simple use case my $flickr = WebService::Simple->new( base_url => "http://api.flickr.com/services/rest/", param => { api_...
- **运行部署命令**:执行如下命令来部署WebService: ```bash java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -l http://10.64.6.60:8080/axis/services deploy1.wsdd ``` - **重启Tomcat**:...
名称WebService::Simple::AWS - 使用 WebService::Simple 的 Amazon Web Service 的简单接口概要 use WebService::Simple::AWS;my $service = WebService::Simple::AWS->new( base_url => '...
WebService::Simple::AWS - 使用 WebService::Simple 的 Amazon Web Service 的简单接口 概要 use WebService::Simple::AWS; my $service = WebService::Simple::AWS->new( base_url => '...
use WebService::Reactio; my $client = WebService::Reactio->new( api_key => '__API_KEY__', organization => '__ORGANIZATION__', ); my $incidents = $client->incidents; 描述 WebService :: Reactio是...
- WebService:基于开放标准的网络应用程序接口,通过XML进行数据交换。 - Axis2:Apache的Web Services框架,用于创建和部署Web Services。 - WSDL:Web Services描述语言,定义了服务的接口和绑定。 - MTOM:...
版本版本 2.014概要 use WebService::UrbanDictionary; my $ud = WebService::UrbanDictionary->new; my $results = request('perl'); for my $each (@{ $results->definitions }) { printf "Definition: %s\n(by %s...
静态调用WebService:** 静态调用通常涉及到预编译的库或API。例如,可以使用gsoap库,这是一个广泛使用的C和C++的SOAP绑定工具。gsoap生成C++类和函数,这些类和函数可以直接在C++代码中调用来访问WebService。...
use WebService::Pushover; my $push = WebService::Pushover->new( user_token => 'PUSHOVER USER TOKEN', api_token => 'PUSHOVER API TOKEN', ) or die( "Unable to instantiate WebService::Pushover.\n" ); ...
名称WebService::Algolia - Algolia API 绑定版本版本 0.1002概要 use WebService::Algolia;my $alg = WebService::Algolia->new( application_id => '12345', api_key => 'abcde',);$alg->get_indexes;描述该模块为...
这是查找语义相关性的 HSO 度量的 Java 实现。 该度量应用于 UMLS 源词汇表,并用于查找医学术语之间的相关性。 此实现使用与 WebService::UMLSKS::Similarity 相同的算法,后者是一个 CPAN perl 开源包。
### jQuery 跨域调用 WebService 的实现方法 在现代Web开发中,跨域问题是一个常见的挑战,尤其是在涉及不同源的服务交互时。本文将详细解释如何利用jQuery通过JSONP(JSON with Padding)的方式实现跨域调用...
2. WebService:WebService是一种基于网络的、分布式的模块化组件,可以使用开放的XML标准进行通信,使得不同系统间的应用能够相互通信。 3. SQLServer:SQLServer是微软公司的一款关系型数据库管理系统,用于存储、...
- JAX-WS是用于创建SOAP-based WebService的Java API,它简化了服务端和客户端的开发,提供了WSDL(Web Service Description Language)的生成和解析。 - WSDL是一种XML格式,用于定义Web服务的接口、消息结构、...
WebService::Instapaper - Instapaper Full API 的客户端 概要 use WebService::Instapaper; my $client = WebService::Instapaper->new(consumer_key => '...', consumer_secret => '...'); $client->auth('...
使用cxf webservice时容易出现的异常
cdtrs_online_portal_webservice:CDTRS在线门户的Web服务