0
我使用球衣實現了我的REST服務。通信層用ssl進行保護。 在客戶端,我得到了我在調用服務並在服務器端驗證請求之前應該簽署xml的要求。 http://docs.oracle.com/javase/6/docs/technotes/guides/security/xmldsig/XMLDigitalSignature.htmlJersey REST標誌xml
我此刻的服務:
@POST
@Path(CONFIRM_PATH)
@Produces({ MediaType.APPLICATION_XML })
public ConfirmResponse confirm(ConfirmRequest request){
// verify the signed confirm request
}
客戶端代碼(逃得掉緩存服務實例的可讀性:
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
client.setConnectTimeout(CLIENT_CONNECT_TIMEOUT);
client.setReadTimeout(CLIENT_READ_TIMEOUT);
URI uri = UriBuilder.fromUri(url).build();
WebResource service = client.resource(uri);
// sign should happen here
ConfirmResponse response = service.post(ConfirmRequest.class, confirmRequest);
什麼是處理這個問題的最好方法是什麼? 我可以簡單地將類型更改爲字符串來獲取完整的xml,驗證它並使用jaxb之後獲取對象。 在客戶端,我也可以手動創建xml併發布字符串。
這個解決方案聽起來讓我非常失望。有任何想法嗎?
最好的問候, 米
聽起來不錯。謝謝! – mkuff 2013-03-14 13:09:19