2012-03-14 14 views
4

獲取消息我使用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> 
+0

我曾嘗試相同的代碼在JDK 1.5和JAX-WS RI作爲項目庫,它可以完美運行。不確定JDK 1.6出了什麼問題。 – 2012-03-14 13:59:17

回答