首页 > 其他分享 >webservice: Could not initialize Service NoSuchMethodException getPortClassMap()

webservice: Could not initialize Service NoSuchMethodException getPortClassMap()

时间:2023-06-08 20:07:58浏览次数:49  
标签:xml webservice Service spi getPortClassMap xfire ws javax



webservicejaxws 


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子包,搞定!

标签:xml,webservice,Service,spi,getPortClassMap,xfire,ws,javax
From: https://blog.51cto.com/u_16065168/6442602

相关文章

  • OpenHarmony系统之Service代码一键生成工具介绍
    作者:苟晶晶前言当开发者为OpenHarmony系统框架开发某些功能时,有时需要将这个功能包装成一个独立的服务进程运行在系统中,为了其它应用进程能够调用此服务,开发人员需要基于系统IPC通信框架编写一套远程接口调用实现。实现Service远程调用接口需要开发人员熟悉IPC通信框架,了解proxy/......
  • Java SPI META-INF/services 详解
    目录什么是SPISPI和API的使用场景SPI的简单实现SPI原理解析DubboSPI总结什么是SPISPI(ServiceProviderInterface)是JDK提供的一套用来被第三方实现或者扩展的接口,它可以用来启用框架扩展和替换组件。SPI的作用就是为这些被扩展的API寻找服务实现。SPI和API的使用场景......
  • 【Azure 应用服务】App Service 默认页面暴露Tomcat版本信息,存在安全风险
    问题描述在创建AzureAppService时,服务端的配置使用Java8+Tomcat8.5。默认的根目录页面显示出AppServiceTomcat版本信息,存在一定的安全隐患。如何来避免这个问题呢? 问题解答因为在初始创建AppService时,Azure会根据所选Stack,WebServer的信息默认生成首页内容。大多是情况......
  • [转]解决WebService 测试窗体只能用于来自本地计算机的请求
    [转自]原文地址:https://www.cnblogs.com/JuneZhang/archive/2013/01/24/net.html问题:WebService部署成站点之后,如果在本地测试webservice可以运行,在远程却显示“测试窗体只能用于来自本地计算机的请求”或者"Thetestformisonlyavailableforrequestsfromthelocalma......
  • 立即报名 | Microservices June 微服务之月再度开启
    原文作者:NGINX原文链接:立即报名|MicroservicesJune微服务之月再度开启转载来源:NGINX官方网站NGINX唯一中文官方社区,尽在 nginx.org.cn又是一个热情似火的六月,一年一度的MicroservicesJune微服务之月再次回归!微服务之月是NGINX一年一度的免费线上教学项目,今......
  • service开机启动项设置
    我们用户级别程序启动需要一个依赖网络,驱动等加载初始化,所以要在一个启动级别非常靠后的位置,他们建议在rc.local中启动,这一个在他们的启动时序中是最后的级别,因此改动如下: 还有一个rc-local.service的文件,一般是systemctlstart/enablerc-local使用,/etc/systemd/system下的ser......
  • HttpURLConnection调用webservice,c#、java、python等HTTP调用webservice,简单的webserv
    以前调用webservice一般使用axis、axis2先生成java类后,直接引用,多方便。但是有的webservice接口非常的函数,生成的java类非常多,有没有一种非常简化的方法。axis2有不生成类直接调用的方法,但是QName不容易找,每次查N久不到。有的反馈,使用CXF调用一样方便,但CXF还要使用maven下载jar,而......
  • Kubernetes(k8s)服务service:service的发现和service的发布
    目录一.系统环境二.前言三.Kubernetesservice简介四.使用hostPort向外界暴露应用程序4.1创建deploy4.2使用hostPort向外界暴露pod的端口五.使用service服务向外界暴露应用程序5.1使用service服务向外界暴露pod5.1.1创建service服务5.1.2测试svc的负载均衡六.service服务的发......
  • ExecutorService 的理解和使用
    前言:我们之前使用线程的时候都是使用newThread来进行线程的创建,但是这样会有一些问题。如:a.每次newThread新建对象性能差。b.线程缺乏统一管理,可能无限制新建线程,相互之间竞争,及可能占用过多系统资源导致死机或oom。c.缺乏更多功能,如定时执行、定期执行、线程中断。相比new......
  • Failed to start docker.service: Unit docker.service not found.
    1、卸载docker 2、添加Docker官方的GPG密钥 3、更新源 4、导入证书 5、更新 6、安装docker 7、验证是否安装成功 8、安装dockercompose 9、验证是否安装成功 ......