ポストリクエストを使用して残りのWebサービスにアクセスするために、以下のようなhttprequestを構築したいと思います。私はSpring for Android APIを使用してリクエストを生成しました。httpHeader.add メソッドでヘッダーを追加できますが、本文にメッセージを追加することはできません。リクエスト形式は以下の通りです。
<?xml version="1.0" encoding="UTF-8"?>
<root>
<headers>
<messagetype>1</messagetype>
<uniquekey>95C75718-C774-DF4E-0DB4-A7AEF55077AA</uniquekey>
</headers>
<authentication>
<clientname>xxx</clientname>
<servicename>login</servicename>
<username>xxx123</username>
<password>welcome123</password>
</authentication>
</root>
その部分を追加する方法がわかりません。助けてください。
これまでに行ったコードは以下のとおりです
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import org.springframework.web.client.RestTemplate;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.MultiValueMap;
public class Main extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView webservice = (TextView) findViewById(R.id.Webservice);
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.setContentType(MediaType.TEXT_PLAIN);
requestHeaders.add("messagetype", "1");
requestHeaders.add("uniquekey", UniqueID.getUUID());
HttpEntity<String> requestEntity = new HttpEntity<String>(requestHeaders);
RestTemplate restTemplate = new RestTemplate();
String url = "http://www.localhost:8080/restwebservice/login";
ResponseEntity<String> responseEntity = restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class);
String result = responseEntity.getBody();
webservice.setText(result);
}
}