次のフォームのJAXBExceptionが発生します
クラスSomeClassもそのスーパークラスも、このコンテキストでは認識されていません。
完全なスタックトレースは次のようになります。
javax.xml.ws.WebServiceException:javax.xml.bind.JAXBException:クラスcom.myCompany.generatedCode.WebServiceOperationNameも、そのスーパークラスもこのコンテキストで認識されていません。 org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:175)で org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:70)で org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:128)で org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.execute(AxisInvocationController.java:586)で org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.doInvoke(AxisInvocationController.java:130)で org.apache.axis2.jaxws.core.controller.impl.InvocationControllerImpl.invoke(InvocationControllerImpl.java:93)で org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:364)で org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:185)で $ Proxy41.deleteAccount(不明なソース) com.myCompany.myPackage.MyWebServiceClient.callSomeWebService(MyWebServiceClient.java:100)で (私のアプリケーションとフレームワークに固有の他のクラス) ..。 のせいで: javax.xml.bind.JAXBException:クラスcom.myCompany.generatedCode.WebServiceOperationNameも、そのスーパークラスもこのコンテキストに認識されていません。 com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:556)で com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:452)で com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:314)で com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:243)で javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:75)で com.ibm.xml.xlxp2.jaxb.marshal.MarshallerProxy.marshal(MarshallerProxy.java:100)で org.apache.axis2.datasource.jaxb.JAXBDSContext $ 1.run(JAXBDSContext.java:470)で org.apache.axis2.java.security.AccessController.doPrivileged(AccessController.java:76)で org.apache.axis2.datasource.jaxb.JAXBDSContext.marshalByElement(JAXBDSContext.java:455)で org.apache.axis2.datasource.jaxb.JAXBDSContext.marshal(JAXBDSContext.java:414)で org.apache.axis2.jaxws.message.databinding.impl.JAXBBlockImpl._outputFromBO(JAXBBlockImpl.java:189)で org.apache.axis2.jaxws.message.impl.BlockImpl.outputTo(BlockImpl.java:372)で org.apache.axis2.jaxws.message.impl.BlockImpl.serialize(BlockImpl.java:296)で org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalSerializeAndConsume(OMSourcedElementImpl.java:808)で org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:975)で org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:1016)で org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.serializeInternally(SOAPEnvelopeImpl.java:271)で org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:233)で org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:1016)で org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:488)で org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:88)で com.ibm.ws.websvcs.transport.http.SOAPOverHTTPSender.writeMessage(SOAPOverHTTPSender.java:3271)で com.ibm.ws.websvcs.transport.http.SOAPOverHTTPSender.sendChunkedRequest(SOAPOverHTTPSender.java:888)で com.ibm.ws.websvcs.transport.http.SOAPOverHTTPSender.sendSOAPRequest(SOAPOverHTTPSender.java:807)で com.ibm.ws.websvcs.transport.http.SOAPOverHTTPSender.send(SOAPOverHTTPSender.java:611)で com.ibm.ws.websvcs.transport.http.HTTPTransportSender.invoke(HTTPTransportSender.java:364)で org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:531)で org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:401)で org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)で org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)で org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.execute(AxisInvocationController.java:581)で ...52もっと
これをトリガーするのは、という名前のWebサービス操作を呼び出そうとしていることWebServiceOperationName
です。このエラーに対処するための他のヒントを見てきました。これには通常、@XmlSeeAlso
注釈を追加したり、マーシャリングとアンマーシャリングの実行方法を調整したりすることが含まれます。
この場合、WSDL(およびサポートスキーマ)に基づいてMavenによってコードが生成されるWebサービスを呼び出しています。Mavenによって生成されたコードを直接制御することはできません。また、マーシャル/アンマーシャル呼び出しを制御することもできません。アプリケーション内の他のWebサービス呼び出しは問題がないようです。
さらに奇妙なことに、これは開発サーバーでは発生しますが、ローカルサーバーでは再現できません。Webサービス用に生成されたJARは、アプリケーションの残りのコードと同じです。
この例外は今週(そして一貫して)突然発生し、環境的に何かが変わったのではないかと思いますが、何が起こっているのかわかりません。何か案は?
新しい観察:
起動/再起動後にサーバーでこのコードを初めて実行しようとすると、失敗して例外がスローされるまでにしばらく(約1分)かかります。その後は毎回、例外はほぼ瞬時に発生します...
さらに詳しい情報:
この問題は、WebSphere 7.0.0.23(サーバー上)には存在しますが、WebSphere 7.0.0.7(ワークステーション上)には存在しません。