次のように、Spring Rest テンプレートを使用して Rest Webservice を呼び出します。
ResponseEntity<String> response = restTemplate.exchange(builder.build().encode().toUri(), HttpMethod.GET, entity, String.class);
次のように文字列形式で出力を取得します
<Info xmlns="http://schemas.test.org/2009/09/Tests.new" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<FirstName>FirstName</FirstName>
<LastName>LastName</LastName>
<TestGuid>Guid</TestGuid>
<TestUID>1</TestUID>
<Token>token</Token>
<TestUserID>14</TestUserID>
</Info>
次のようにJavaクラスにアンマーシャリングしようとすると
ResponseEntity<Info> response = restTemplate.exchange(builder.build().encode().toUri(), HttpMethod.GET, entity, Info.class)
Info クラスは次のように定義されます。
@XmlRootElement(name = "Info", namespace = "http://schemas.test.org/2009/09/Tests.new")
public class Info implements Serializable{
private String FirstName;
private String LastName;
private String TestGuid;
private String TestUID;
private String Token;
private String TestUserID;
//getters and setter
}
応答の http コードが 500 の場合、応答のタイプは info ではなく、他のタイプの infoException です。
Http 応答コードに応じて出力を非整列化するように resttemplate に指定できますか?