2013-10-07 44 views
2

如果嘗試在Java中實現SOAP Web服務的客戶端和服務器端組件(如WSDL中定義的),那麼是否應該查看任何資源/庫,但是而不是希望爲客戶端和服務器存根使用基於WSDL/JAXB的代碼生成?Java中沒有JAXB/JAX-WS的SOAP Web服務WSDL代碼生成

爲了記錄在案,原因我想避開wsimport存根代是,無論wsimportxjc無法正確生成架構文件我都用Java代碼 - 這是衆多且相當複雜的 - 儘管使用插曲編輯我仍然遇到了JAXB代碼生成邏輯中可能存在的錯誤(例如,參見herehere),總體而言,我認爲這種技術在複雜架構方面並不是很堅實。

那麼,是否有任何資源或庫需要考慮通過在HTTP連接上直接編寫和讀取XML內容來構建SOAP服務?目前,我只是呼籲一個java.net.URLConnectionwrite

URLConnection connection = url.openConnection(); 
    connection.setDoOutput(true); // Triggers POST. 
    connection.setRequestProperty("Accept"   , "text/xml, multipart/related"); 
    connection.setRequestProperty("Content-Type" , "text/xml; charset=utf-8"); 
    connection.setRequestProperty("Host"   , url.getHost()); 
    connection.setRequestProperty("Proxy-Connection", "keep-alive"); 
    connection.setRequestProperty("Content-Length" , String.valueOf(postContent.length())); 
    OutputStream output = connection.getOutputStream(); 
    output.write(postContent.getBytes("UTF-8")); 

回答

0

如果你需要的東西「低層次」(但不是極端的書寫郵件作爲字符串)看看SAAJ

參考實現是here,你可以在The Java EE 5 Tutorial找到一個啓動教程。