簡體   English   中英

在CXF處理XML POST消息正文之前,如何捕獲它?

[英]How to capture XML POST message body before it is processed by CXF?

我希望看到使用jax-rsApache CXF處理的POST請求中提交的XML:

@POST
@Path("entity/register")
@Consumes(MediaType.APPLICATION_XML)
public Response registerEntity(Entity entity ) { ... }

我使用Spring RestTemplate調用該服務:

String postURI = "...";
Entity entity = new Entity(...);
restTemplate.postForLocation(postURI, entMap);

因此,RestTemplate和CXF都封裝了准備和解析請求的樣板函數。 但是,我想看看RestTemplate如何將對象編組為XML或CXF如何將其編組,但最好是我希望能夠看到包括標頭的整個HTTP請求。

我想要這樣做的原因是為了可以在其他客戶端(例如PythonChrome Poster等)中模擬該請求。更具體地說,我想編寫一個Python腳本,該腳本會將相同的XML格式發布到相同的REST服務中而且那里沒有Java框架來為我封裝(un)封送處理。

我正在使用Tomcat 7但希望找到一種方法來用Java(調試)進行操作,而不必在Tomcat日志中記錄所有HTTP請求。

對我不起作用,因為上下文沒有被注入並且保持為空。

我將添加一系列“不做事” 攔截器 (每個階段一個),並在調試器的每一步中檢查消息。 相信您正在尋找的階段是PRE_PROTOCOL ,但是我似乎想起了某些信息不一定會在您期望的時候可用。

暫無
暫無

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

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