Websphere 7 を使用して、Mavenized Java プロジェクトに取り組んでいます。「mvn test」を使用してコマンド ラインから単体テストを実行すると、すべて正常に実行されます。ただし、これらを Eclipse から実行する場合、run as junit test を右クリックすると、「javax.xml.ws.WebServiceException: org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR: An attempts was許可されていない場所にノードを挿入させました。」
原因: org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR: 許可されていないノードを挿入しようとしました。
at org.apache.xerces.dom.CoreDocumentImpl.insertBefore(Unknown Source)
at org.apache.xerces.dom.NodeImpl.appendChild(Unknown Source)
at com.ibm.ws.webservices.engine.xmlsoap.SOAPPart.appendChild(SOAPPart.java:282)
at com.sun.xml.internal.bind.marshaller.SAX2DOMEx.startElement(SAX2DOMEx.java:165)
at com.sun.xml.internal.ws.message.AbstractMessageImpl.writeTo(AbstractMessageImpl.java:147)
at com.sun.xml.internal.ws.message.AbstractMessageImpl.readAsSOAPMessage(AbstractMessageImpl.java:182)
at com.sun.xml.internal.ws.handler.SOAPMessageContextImpl.getMessage(SOAPMessageContextImpl.java:68)
私はEclipseで実行構成を見てきましたが、同じ(sun 1.6)JDKを使用して実行していると確信しています。
どちらの場合もクラスパスを出力しましたが、唯一の違いは、Eclipse から実行すると、コマンド ラインから実行したときには存在しない 46 個の ibm jar があることです。サンプルは次のとおりです: 'C:\Program Files (x86)\IBM\WebSphere\AppServer\plugins\com.ibm.ws.ejbportable.jar', 'C:\Program Files (x86)\IBM\WebSphere\AppServer\ plugins\com.ibm.ws.jpa.jar', 'C:\Program Files (x86)\IBM\WebSphere\AppServer\installedConnectors\wmq.jmsra.rar\dhbcore.jar', 'C:\Program Files (x86) )\IBM\WebSphere\AppServer\plugins\com.ibm.ws.admin.core.jar', 'C:\Program Files (x86)\IBM\WebSphere\AppServer\installedConnectors\wmq.jmsra.rar\com.ibm .mq.headers.jar' など (誰かが参考になれば、完全なリストを印刷できます)。
これらの jar が単体テストを妨害する責任があるという私の唯一の疑いであり、私は他の提案を受け入れており、要求に応じてより多くの情報を投稿できます。デバッグを管理しやすくするために、Eclipse から実行できるようにする必要があります。