![](/img/trans.png)
[英]CXF web service works correctly, but I can't get its wsdl from the cxf web site
[英]Can't read or parse Plain String Response from CXF REST Web Service in Java
REST服務已在SpringMVC中正確實現,部署並返回正確的結果字符串,
@RestController
public class RESTServiceController {
@GET
@Produces("application/json")
@RequestMapping("/restUrl")
public String getResult() {
JSONObject json = new JSONObject();
json.put("result", Boolean.TRUE);
}
}
測試此Web服務時,我得到正確的輸出,
{"result":true}
問題是調用者通過CXF獲取Response對象,但是我不知道如何解析Response。 我不需要自定義對象。 我需要的只是直接字符串,我只想查看我的輸出字符串。
String restServiceURI = "http://www.asite.com/restUrl";
WebClient client = WebClient.create(restServiceURI,true);
Response resp = client.get();
//String entity = (String)resp.getEntity; <-- Also tried this to cast to a string
問題是,響應長度為0,狀態為EmptyInputStream
getEntity InputStream
根據調試器顯示的內容帶回EmptyInputStream
。
Response對象沒有我可以在調試器中看到的任何信息。
我怎樣才能找回我的直接字符串? 有例子嗎?
您正在嘗試混合使用Spring Rest和CxF rest。 使用Spring Rest或CXF Rest。
如果您想使用Spring Rest,如下所示
@Service
public class RESTServiceController {
@RequestMapping("/restUrl")
public @ResponseBody MyClass getResult() {
return myClass;
}
}
或CXF,如下所示。
@Service
public class RESTServiceController {
@GET
@Produces("application/json")
public MyClass getResult() {
return myClass;
}
}
注意:您無需顯式使用json轉換,Spring Rest和CXF都必須具有將對象轉換為json字符串的功能。
但是,您的問題並不僅限於此,我相信您已啟用spring-security,該安全性通過登錄頁面發送redirect(302)響應。 您可以通過啟用客戶端登錄來驗證來自服務器的響應。
WebClient.getConfig(client).getInInterceptors().add(new LoggingInInterceptor());
WebClient.getConfig(client).getOutInterceptors().add(new LoggingOutInterceptor());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.