为了账号安全,请及时绑定邮箱和手机立即绑定

在 weblogic 12.2.1.3 上创建 javax.xml.ws.Service 实例时出现

在 weblogic 12.2.1.3 上创建 javax.xml.ws.Service 实例时出现

慕娘9325324 2023-11-01 16:34:25
我们有一个由 JAX-WS RI 2.2.9-b130926.1035 生成的 EshopService_Service 类 - 从 wsdl 文件生成的源版本:2.2。从 weblogic 版本 12.1.2.0.0 升级到 12.2.1.3 后,我们在创建 Service 实例时得到了这个堆栈:java.lang.NullPointerException    at com.oracle.webservices.impl.wsdl.WSDLBoundOperationImpl.<init>(WSDLBoundOperationImpl.java:540)    at com.oracle.webservices.impl.wsdl.WSDLBoundPortTypeImpl.<init>(WSDLBoundPortTypeImpl.java:80)    at com.oracle.webservices.impl.wsdl.WSDLModelImpl.mapBindings(WSDLModelImpl.java:169)    at com.oracle.webservices.impl.wsdl.WSDLModelImpl.mapBindings(WSDLModelImpl.java:189)    at com.oracle.webservices.impl.wsdl.WSDLModelImpl.<init>(WSDLModelImpl.java:48)    at com.oracle.webservices.impl.wsdl.WSDLConverterImpl.wsdlModelFromDefinition(WSDLConverterImpl.java:292)    at com.oracle.webservices.impl.wsdl.WSDLConverterImpl.getWSDLModel(WSDLConverterImpl.java:248)    at com.oracle.webservices.impl.wsdl.WSDLConverterImpl.getWSDLService(WSDLConverterImpl.java:303)    at weblogic.wsee.jaxws.spi.WLSProvider$ServiceDelegateImpl.<init>(WLSProvider.java:1124)    at weblogic.wsee.jaxws.spi.WLSProvider.createServiceDelegate(WLSProvider.java:223)    at weblogic.wsee.jaxws.spi.WLSProvider.createServiceDelegate(WLSProvider.java:150)    at javax.xml.ws.Service.<init>(Service.java:77)    at xx.xx.xxxxxxx.services.eshop.EshopService_Service.<init>(EshopService_Service.java:40)    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)WSDLBoundOperationImpl 是 weblogic 的内部类,网上没有关于该类的信息...我们已经反编译了 WSDLBoundOperationImpl 类,当owner.getPortType() 返回 null 时,它看起来失败了owner.getPortType().get(this.name);...事实上,我们的 WSDL 不包含任何“portType”元素,但 portType 不是必需的 wsdl 指令,并且相同的 WSDL 在 Weblogic 版本 12.1.2.0.0 上运行良好。如何解决这个问题呢?我们无法更改 wsdl 文件的内容...
查看完整描述

1 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

看起来我找到了解决方法... Weblogic正在使用自己的jax ws Provider实现...但是具有https://docs.oracle.com/cd/E24329_01/web.1211/e24964/data_types.htm#WSGET348 功能您可以定义javax.xml.ws.spi.Provider为(在我的情况下)org.apache.cxf.jaxws.spi.ProviderImpl...然后,在创建服务实例时,作为 Provider 使用 apace.cxf 提供程序的实例...



查看完整回答
反对 回复 2023-11-01
  • 1 回答
  • 0 关注
  • 110 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信