Отправить сообщение XML через HTTP POST

1

Мне нужно отправить сообщение HL7, которое разобрано в XML-сообщение в нижнюю конечную точку.

  • Хост: iol.sandbox.ohie.org
  • Порт: 5001
  • имя пользователя: admin
  • Пароль: admin
  • Метод HTTP: POST
  • Путь HTTP: /ws/rest/v1/пациенты/

Я использую 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.

Я был бы признателен, если бы кто-нибудь помог мне с тем, чего мне не хватает из приведенного выше фрагмента кода.

  • 0
    Вы ожидаете получить XML от ответа?
Теги:
httpclient
http-post
hl7

1 ответ

0

Поэтому, если вы пытаетесь поместить xml в тело

 String xml = "<xml>xxxx</xml>";
    HttpEntity entity = new ByteArrayEntity(xml.getBytes("UTF-8"));
    post.setEntity(entity);

Я считаю, что это должно сработать. Но я действительно имею дело только с С#. Где xml?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню