0

HAPI-FHIR DSTU2 HL7の MedicationOrder リソースを使用して POST 要求を生成するための Java コードを作成しています。私はいくつかのトラブルに遭遇しました。

  1. 含まれるリソースの基準値を設定します。
  2. 含まれているリソースは、生成された XML メッセージには存在しません。
  3. 操作の結果は HTTP/1.1 500 Internal Server Error で、「Feed」という名前の外部要素が期待されています。MedicationOrderというメッセージが表示されます。

MedicationOrderリソースに精通している人は助けてもらえますか?

以下はJavaコードです

public int sendMessage(MedicationOrder medicationOrder) throws   ClientProtocolException, IOException
{
  FhirContext ctx = FhirContext.forDstu2Hl7Org();
  IGenericClient client = ctx.newRestfulGenericClient("http://fhirtest.uhn.ca/baseDstu2");    
  HttpPost httpPost = new HttpPost("http://fhirtest.uhn.ca/baseDstu2");

  String message = ctx.newXmlParser().setPrettyPrint(true).encodeResourceToString(medicationOrder);
  httpPost.setEntity((HttpEntity) new StringEntity(message, ContentType.create(Constants.CT_FHIR_XML, "UTF-8")));

  org.apache.http.HttpResponse response = client.getHttpClient().execute(httpPost);
  return response.getStatusLine().getStatusCode();
}
4

2 に答える 2

0

HAPI のクライアントと Apache HTTP クライアント層 (HAPI のクライアントの内部にありますが、直接対話する必要はありません) を混同しているようです。

オブジェクトを作成する代わりに、HttpPostHAPI のクライアントを使用して作成を実行します。

MethodOutcome outcome = client.create()
  .resource(medicationOrder)
  .prettyPrint()
  .encodedJson()
  .execute();
于 2016-06-08T16:57:03.297 に答える