2017-08-02 54 views
0

如果請求是URL編碼的,我可以使用xsp或xsl獲取請求參數對。但是當我發送應用程序/ json請求時,我無法讀取請求正文。如何讀取Apache Cocoon 2.1句柄Json請求體

Cocoon request API不支持getReader()接口,因此讀取請求體作爲流也是不可能的。 我發現一個similar question,提到的答案是文字發生器,這是它的意思是在cocoon generator page

The key request info I can get in cocoon is: 
Header information [name] : Content-Length 
Header information [value] : 838 
Header information [name] : Content-Type 
Header information [value] : application/json 

回答

0

哇,其他人使用Cocoon 2.1!

我通常不會在Cocoon上尋找關於SO的問題,而只是偶然發現了這一點。

我希望我能正確理解你的問題。 這裏有一些建議,如果它仍然是相關的:

您可以使用XSLT JSON parser轉換結果以從您的JSON獲取XML。 在我的一個應用程序中,我有這樣的管線:

 <!-- Retrieve a list of documents. 
     Request parameters: 
      start (optional): The index of the first document, default is 0. 
      length (optional): The maximum number of results in the list, default is 100. 
     --> 
     <map:match pattern="doclist"> 
     <map:generate type="request"/> 
     <map:transform src="xsl/request_to_doclist-query.xslt"> 
      <map:parameter name="default-start" value="0"/> 
      <map:parameter name="default-length" value="100"/> 
     </map:transform> 
     <map:transform type="sparql"/> 
     <map:transform src="xsl/json-parser.xslt"/> 
     <map:serialize type="xml"/> 
     </map:match> 
+0

謝謝!這是非常聰明的解決方案!對於我最終我做了一個xsp基本上寫了一些Java代碼來處理請求。自動櫃員機,我期待新的繭版本被髮布,支持管道REST類型的API:s。 :-) – ryuukei