簡體   English   中英

如何從現有的基於XML的RESTful服務創建Java Jersey客戶端

[英]How do I create a Java Jersey client from an existing XML based RESTful service

我習慣於與SOAP Webservices集成,其中wsdl是可訪問的,並且可以用於使用wsimport生成java客戶端。 我最近獲得了一個RESTful端點,它使用XML作為有效負載類型。 到目前為止,我看到沒有WADL \\ Swagger YML文件,我可以訪問以獲取服務的定義。

到目前為止我所知道的是:
1.端點
2.它在HTTP基本身份驗證之后運行
3.它接受一個POST
4.我所有的三個測試XML有效負載似乎都“工作”,返回與我想要做的事情相關的XML響應
5.根據我執行的操作,URI不會改變,服務會根據不同的XML輸入做出不同的反應(請求包含一個payload-id屬性,它似乎表示正在執行的操作類型)

從上面看,服務看起來並不像“類似REST”,它可能只是一個進程偵聽特定請求的端口並執行原始字符串操作來解析值,然后使用字符串連接來粗略地構建響應。 我得到的大部分REST只是在較低的水平,但我希望以某種方式管理服務的明顯粗糙度更好。

我如何為這項服務生成一個“干凈的”Java客戶端(類似於wsimport可以做什么),因為我有3個不同操作的XML樣本請求似乎是暴露的?

對於上面我覺得我自己需要創建WADL \\ Swagger YML ,或者有一個工具可以使用我有動態構建這些定義的請求?

我們最終使用了Feign ,這是一個Java到HTTP客戶端綁定器。 它是Netflix OSS,但似乎是一個較舊的庫(osslifecycle = archived)。

包裝HTTP服務非常簡單,因為它只有一個URI,我們將XML有效負載發送到。 我們從服務所有者處收到XSD,我們已將其轉換為JAXB對象,然后在Feign調用中進行封送和取消封送。 Feign有編碼器和解碼器的概念,您可以使用它來編寫自己的映射器或使用提供的映射器(JAXBEncoder \\ JAXBDecoder)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM