Webサービス用のWSDLを生成しようとしていますが、次のエラーが発生します。
注:apラウンド:2 スレッド「メイン」の例外javax.xml.ws.WebServiceException:JAXBContextを作成できません com.sun.xml.internal.ws.model.AbstractSEIModelImpl.createJAXBContext(AbstractSEIModelImpl.java:153)で com.sun.xml.internal.ws.model.AbstractSEIModelImpl.postProcess(AbstractSEIModelImpl.java:83)で com.sun.xml.internal.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:244)で com.sun.tools.internal.ws.wscompile.WsgenTool.buildModel(WsgenTool.java:229)で com.sun.tools.internal.ws.wscompile.WsgenTool.run(WsgenTool.java:112)で sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)で sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)で java.lang.reflect.Method.invoke(Method.java:597)で com.sun.tools.internal.ws.Invoker.invoke(Invoker.java:105)で com.sun.tools.internal.ws.WsGen.main(WsGen.java:41)で 原因:java.security.PrivilegedActionException:com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException:1カウントのIllegalAnnotationExceptions java.lang.StackTraceElementには、引数なしのデフォルトコンストラクターがありません。 この問題は、次の場所に関連しています。 java.lang.StackTraceElementで public java.lang.StackTraceElement [] java.lang.Throwable.getStackTrace()で java.lang.Throwableで java.lang.Exceptionで java.sql.SQLExceptionで プライベートjava.sql.SQLExceptionwsdb.jaxws.SQLExceptionBean.nextExceptionで wsdb.jaxws.SQLExceptionBeanで java.security.AccessController.doPrivileged(ネイティブメソッド)で com.sun.xml.internal.ws.model.AbstractSEIModelImpl.createJAXBContext(AbstractSEIModelImpl.java:140)で ...さらに10 原因:com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException:1カウントのIllegalAnnotationExceptions java.lang.StackTraceElementには、引数なしのデフォルトコンストラクターがありません。 この問題は、次の場所に関連しています。 java.lang.StackTraceElementで public java.lang.StackTraceElement [] java.lang.Throwable.getStackTrace()で java.lang.Throwableで java.lang.Exceptionで java.sql.SQLExceptionで プライベートjava.sql.SQLExceptionwsdb.jaxws.SQLExceptionBean.nextExceptionで wsdb.jaxws.SQLExceptionBeanで com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException $ Builder.check(IllegalAnnotationsException.java:91)で com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:436)で com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl。(JAXBContextImpl.java:277)で com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl $ JAXBContextBuilder.build(JAXBContextImpl.java:1100)で com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:143)で com.sun.xml.internal.bind.api.JAXBRIContext.newInstance(JAXBRIContext.java:95)で com.sun.xml.internal.ws.developer.JAXBContextFactory $ 1.createJAXBContext(JAXBContextFactory.java:97)で com.sun.xml.internal.ws.model.AbstractSEIModelImpl $ 1.run(AbstractSEIModelImpl.java:148)で com.sun.xml.internal.ws.model.AbstractSEIModelImpl $ 1.run(AbstractSEIModelImpl.java:140)で ...さらに12
これについてインターネットでいくつかの議論がありましたが、最初はすべてのクラスのコンストラクターを構築してから、別のxml仕様を作成するまでです。真実は、これに対する本当の答えがないか、私がテストした解決策がまったく機能しないということです。
私はこの問題についてここで議論を読みましたが、それは終わりがなく、解決する方法がわかりません。誰かがこれについての手がかりを持っているなら、私はこれを避けるために私を厳密な方向に追加することをとても感謝しています。
私は、Debian Squezze、Java 1.6_20、JAX-WS JAX-WS RI2.1.6をJDK6で使用し、wsgenを使用してwsdlを生成しています。それが修正した最初のステップは、Beanクラスを含むjaxwsディレクトリを生成することです。