2
如果嘗試在Java中實現SOAP Web服務的客戶端和服務器端組件(如WSDL中定義的),那麼是否應該查看任何資源/庫,但是而不是希望爲客戶端和服務器存根使用基於WSDL/JAXB的代碼生成?Java中沒有JAXB/JAX-WS的SOAP Web服務WSDL代碼生成
爲了記錄在案,原因我想避開wsimport
存根代是,無論wsimport
和xjc
無法正確生成架構文件我都用Java代碼 - 這是衆多且相當複雜的 - 儘管使用插曲編輯我仍然遇到了JAXB代碼生成邏輯中可能存在的錯誤(例如,參見here和here),總體而言,我認爲這種技術在複雜架構方面並不是很堅實。
那麼,是否有任何資源或庫需要考慮通過在HTTP連接上直接編寫和讀取XML內容來構建SOAP服務?目前,我只是呼籲一個java.net.URLConnection
像write
:
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"));