gpt4 book ai didi

java - 无法创建 JAXBContext 创建我的 wsdl

转载 作者:IT老高 更新时间:2023-10-28 20:51:28 27 4
gpt4 key购买 nike

我正在尝试为 Web 服务生成我的 WSDL,但我收到此错误:

Note:   ap round: 2Exception in thread "main" javax.xml.ws.WebServiceException: Unable to create JAXBContext        at com.sun.xml.internal.ws.model.AbstractSEIModelImpl.createJAXBContext(AbstractSEIModelImpl.java:153)        at com.sun.xml.internal.ws.model.AbstractSEIModelImpl.postProcess(AbstractSEIModelImpl.java:83)        at com.sun.xml.internal.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:244)        at com.sun.tools.internal.ws.wscompile.WsgenTool.buildModel(WsgenTool.java:229)        at com.sun.tools.internal.ws.wscompile.WsgenTool.run(WsgenTool.java:112)        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 com.sun.tools.internal.ws.Invoker.invoke(Invoker.java:105)        at com.sun.tools.internal.ws.WsGen.main(WsGen.java:41)Caused by: java.security.PrivilegedActionException: com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptionsjava.lang.StackTraceElement does not have a no-arg default constructor.        this problem is related to the following location:                at java.lang.StackTraceElement                at public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()                at java.lang.Throwable                at java.lang.Exception                at java.sql.SQLException                at private java.sql.SQLException wsdb.jaxws.SQLExceptionBean.nextException                at wsdb.jaxws.SQLExceptionBean        at java.security.AccessController.doPrivileged(Native Method)        at com.sun.xml.internal.ws.model.AbstractSEIModelImpl.createJAXBContext(AbstractSEIModelImpl.java:140)        ... 10 moreCaused by: com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptionsjava.lang.StackTraceElement does not have a no-arg default constructor.        this problem is related to the following location:                at java.lang.StackTraceElement                at public java.lang.StackTraceElement[] java.lang.Throwable.getStackTrace()                at java.lang.Throwable                at java.lang.Exception                at java.sql.SQLException                at private java.sql.SQLException wsdb.jaxws.SQLExceptionBean.nextException                at wsdb.jaxws.SQLExceptionBean        at com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java:91)        at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:436)        at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.(JAXBContextImpl.java:277)        at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1100)        at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:143)        at com.sun.xml.internal.bind.api.JAXBRIContext.newInstance(JAXBRIContext.java:95)        at com.sun.xml.internal.ws.developer.JAXBContextFactory$1.createJAXBContext(JAXBContextFactory.java:97)        at com.sun.xml.internal.ws.model.AbstractSEIModelImpl$1.run(AbstractSEIModelImpl.java:148)        at com.sun.xml.internal.ws.model.AbstractSEIModelImpl$1.run(AbstractSEIModelImpl.java:140)        ... 12 more

我在互联网上看到了一些关于这个的讨论,首先是为所有类构建一个构造函数,直到创建另一个 xml 规范。事实是,对此没有真正的答案,或者我测试的解决方案不起作用。

我在此处阅读了有关此问题的讨论,但未终止,我不知道如何解决。如果有人对此有所了解,我很感激能将我加入正确的方向以避免这种情况。

我在 JDK 6 和 wsgen 中使用 Debian Squezze、Java 1.6_20、JAX-WS JAX-WS RI 2.1.6 来生成 wsdl。第一步是正确的,生成带有 bean 类的 jaxws 目录。

最佳答案

Throwable 对象(即异常和错误)不能直接传输,因为它们不能序列化为 XML(StackTraceElement 没有无参数构造函数,这是 JAXB 所需的)。

您必须为此使用 SOAP 错误。见 this question .它指向您应该放在异常类上的 @WebFault 注释。 (也可能检查 thisthis )

关于java - 无法创建 JAXBContext 创建我的 wsdl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7232331/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com