Мне нужно отправить сообщение HL7, которое разобрано в XML-сообщение в нижнюю конечную точку.
Я использую Apache HttpClient для достижения этого. Ниже приведен код, который я использую.
public void simpleHttpMessage() throws Exception{
String url = "iol.sandbox.ohie.org";
String USER_AGENT = "/ws/rest/v1/patients/";
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
// add header
post.setHeader("User-Agent", USER_AGENT);
List<NameValuePair> urlParameters = new ArrayList<NameValuePair>();
urlParameters.add(new BasicNameValuePair("username", "admin"));
urlParameters.add(new BasicNameValuePair("password", "admin"));
post.setEntity(new UrlEncodedFormEntity(urlParameters));
HttpResponse response = client.execute(post);
System.out.println("\nSending 'POST' request to URL : " + url);
System.out.println("Post parameters : " + post.getEntity());
System.out.println("Response Code : " +
response.getStatusLine().getStatusCode());
BufferedReader rd = new BufferedReader(
new InputStreamReader(response.getEntity().getContent()));
StringBuffer result = new StringBuffer();
String line = "";
while ((line = rd.readLine()) != null) {
result.append(line);
}
System.out.println(result.toString());
}
Я не уверен, где я должен передать фактическое сообщение xml, которое я хочу отправить. Я в основном пытаюсь отправить сообщение HL7, которое анализируется в XML, через HTTP POST.
Я был бы признателен, если бы кто-нибудь помог мне с тем, чего мне не хватает из приведенного выше фрагмента кода.
Поэтому, если вы пытаетесь поместить xml в тело
String xml = "<xml>xxxx</xml>";
HttpEntity entity = new ByteArrayEntity(xml.getBytes("UTF-8"));
post.setEntity(entity);
Я считаю, что это должно сработать. Но я действительно имею дело только с С#. Где xml?