简体   繁体   English

JAX-WS:com.sun.xml.messaging.saaj.SOAPExceptionImpl:无 NamespaceURI,SOAP 要求故障代码内容为 QName

[英]JAX-WS: com.sun.xml.messaging.saaj.SOAPExceptionImpl: No NamespaceURI, SOAP requires faultcode content to be a QName

I'm performing a SOAP request via SSL.我正在通过 SSL 执行 SOAP 请求。 One request is working, but another request for same SOAP service fails with this exception:一个请求正在工作,但对同一 SOAP 服务的另一个请求失败并出现以下异常:

java.lang.reflect.UndeclaredThrowableException
    com.sun.proxy.$Proxy980.initPayment2(Unknown Source)
    com.mobimoney.emulator.rostelecom.utils.LogicImpl.executeInitPayment2(LogicImpl.java:76)
    com.mobimoney.emulator.rostelecom.servlets.InitPaymentPageServlet.execInitPayment(InitPaymentPageServlet.java:56)
    com.mobimoney.emulator.rostelecom.servlets.InitPaymentPageServlet.service(InitPaymentPageServlet.java:24)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
com.sun.xml.messaging.saaj.SOAPExceptionImpl: No NamespaceURI, SOAP requires faultcode content to be a QName
    com.sun.xml.messaging.saaj.soap.impl.FaultImpl.setFaultCode(FaultImpl.java:155)
    com.sun.xml.messaging.saaj.soap.impl.FaultImpl.setFaultCode(FaultImpl.java:171)
    org.apache.cxf.jaxws.JaxWsClientProxy.createSoapFault(JaxWsClientProxy.java:208)
    org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:142)
    com.sun.proxy.$Proxy980.initPayment2(Unknown Source)
    com.mobimoney.emulator.rostelecom.utils.LogicImpl.executeInitPayment2(LogicImpl.java:76)
    com.mobimoney.emulator.rostelecom.servlets.InitPaymentPageServlet.execInitPayment(InitPaymentPageServlet.java:56)
    com.mobimoney.emulator.rostelecom.servlets.InitPaymentPageServlet.service(InitPaymentPageServlet.java:24)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

I can't understand what's going wrong.我不明白出了什么问题。 I've Googled this exception and didn't find anything useful.我在谷歌上搜索了这个异常,但没有找到任何有用的东西。 Maybe this is a problem in WSDL or how I generated classes from WSDL?也许这是 WSDL 中的问题,或者我如何从 WSDL 生成类?

This is a bug in SAAJ, the Java SOAP library are using.这是 SAAJ 中的一个错误,Java SOAP 库正在使用。

In an error response, the SOAP "faultcode" value is supposed to be formatted in a qname (prefix:localName) format.在错误响应中,SOAP“故障代码”值应该以 qname (prefix:localName) 格式进行格式化。 Older versions of SAAJ enforce this too strictly, giving this error if the prefix is blank.旧版本的 SAAJ 强制执行此操作过于严格,如果前缀为空,则会出现此错误。 Upgrading to 1.3.16 fixes this issue.升级到 1.3.16 修复了这个问题。

See https://github.com/javaee/metro-saaj/issues/47https://github.com/javaee/metro-saaj/issues/47

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 com.sun.xml.messaging.saaj.SOAPExceptionImpl:无效的Content-Type:文本/纯文本。 这是错误消息,而不是SOAP响应吗? - com.sun.xml.messaging.saaj.SOAPExceptionImpl: Invalid Content-Type:text/plain. Is this an error message instead of a SOAP response? Azure功能和肥皂:无法访问信封:无法从给定源com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl创建信封 - Azure Function and Soap: Could not access envelope: Unable to create envelope from given source: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl com.sun.xml.messaging.saaj.soap.ver1_1.Message1_1Impl无法转换为oracle.j2ee.ws.saaj.soap.MessageImpl - com.sun.xml.messaging.saaj.soap.ver1_1.Message1_1Impl cannot be cast to oracle.j2ee.ws.saaj.soap.MessageImpl IllegalArgumentException:com.sun.xml.internal.messaging.saaj.soap.LocalStrings!= com.sun.xml.messaging.saaj.soap.LocalStrings - IllegalArgumentException: com.sun.xml.internal.messaging.saaj.soap.LocalStrings != com.sun.xml.messaging.saaj.soap.LocalStrings 获取 PrivilegedActionException:com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl:消息发送失败。同时调用 Z2567A5EC9705EB7AC2C984033E06188DZ 服务 - Getting PrivilegedActionException: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed.while invoking web service 无法创建 SAAJ 元工厂:未找到提供程序 com.sun.xml.internal.messaging.saaj.soapImpl。 - Unable to create SAAJ meta-factory: Provider com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl not found JDK 11; JAX-WS; 未找到提供程序 com.sun.xml.internal.ws.spi.ProviderImpl - JDK 11; JAX-WS; Provider com.sun.xml.internal.ws.spi.ProviderImpl not found 包com.sun.xml.internal.messaging.saaj.soap.dynamic不存在 - package com.sun.xml.internal.messaging.saaj.soap.dynamic does not exist 应用程序类'com.sun.xml.messaging.saaj.soap.SOAPPartImpl。:119'抛出的异常 - Exception thrown by application class 'com.sun.xml.messaging.saaj.soap.SOAPPartImpl.:119' JAVA - 找不到 com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl - JAVA - com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl not found
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM