獲取消息我使用JDK 1.6,如果沒有處理程序在服務端點添加JAX-WS RI 2.2.5 守得雲開完美。但是,當一個Web方法被調用時,在服務器端添加SOAP處理程序後,程序和處理程序執行soapMessageContext.getMessage()。的toString(),客戶端得到內部服務器錯誤500(這意味着在處理請求的服務器遇到錯誤)。然後在服務器端打印以下跟蹤:JAX-WS - 的NoSuchMethodError在SOAP處理器
Mar 14, 2012 4:26:15 PM com.sun.xml.ws.transport.http.servlet.WSServletDelegate doGet
SEVERE: caught throwable
java.lang.NoSuchMethodError: com.sun.istack.XMLStreamReaderToContentHandler.<init>(Ljavax/xml/stream/XMLStreamReader;Lorg/xml/sax/ContentHandler;ZZ[Ljava/lang/String;)V
at com.sun.xml.ws.message.stream.StreamMessage.writePayloadTo(StreamMessage.java:355)
at com.sun.xml.ws.message.stream.StreamMessage.writeTo(StreamMessage.java:462)
at com.sun.xml.ws.message.AbstractMessageImpl.readAsSOAPMessage(AbstractMessageImpl.java:198)
at com.sun.xml.ws.handler.SOAPMessageContextImpl.getMessage(SOAPMessageContextImpl.java:84)
at com.myapp.jaxws.TestingSOAPHandler.handleMessage(TestingSOAPHandler.java:21)
經過一些Google搜索後,它遇到了它的庫問題。 JAX-WS也存在於JDK 1.6中,我也添加到了我的項目中。但是當我從項目中刪除JAX-WS 2.2.5庫時,它會觸發一些類丟失錯誤。
其實我不知道,是不是庫的兼容性或重複的問題還是其他什麼東西。任何幫助將不勝感激。
這裏是終點配置:
<endpoint name="TestingService" implementation="com.myapp.jaxws.TestingService" url-pattern="/jaxws/TestingService" enable-mtom="true">
<handler-chains xmlns="http://java.sun.com/xml/ns/javaee">
<handler-chain>
<handler>
<handler-name>MyLogicalHandler</handler-name>
<handler-class>com.myapp.jaxws.TestingLogicalHandler</handler-class>
</handler>
<handler>
<handler-name>MySOAPHandler</handler-name>
<handler-class>com.myapp.jaxws.TestingSOAPHandler</handler-class>
</handler>
</handler-chain>
</handler-chains>
</endpoint>
我曾嘗試相同的代碼在JDK 1.5和JAX-WS RI作爲項目庫,它可以完美運行。不確定JDK 1.6出了什麼問題。 – 2012-03-14 13:59:17