From: Giacomo P. <gia...@gm...> - 2014-01-28 20:32:22
|
Hi, I think that there is a mismatch between the HL7 Over HTTP specification and the current implementation regarding the HTTP Response Codes. The specification says: When a *receiving application* produces an HL7 response payload containing > one of these status codes (AR, AE, CR, CE), this is considered a successful > interaction at the transport layer, and response code of "HTTP/1.1 200 OK" > MUST be used. But the implementation does not follow the specification. The class ca.uhn.hl7v2.hoh.encoder.ResponseCode contains the following mapping: ourAckCodesToResponseCodes.put(AA, HTTP_200_OK); ourAckCodesToResponseCodes.put(CA, HTTP_200_OK); ourAckCodesToResponseCodes.put(AR, HTTP_400_BAD_REQUEST); ourAckCodesToResponseCodes.put(CR, HTTP_400_BAD_REQUEST); ourAckCodesToResponseCodes.put(AE, HTTP_500_INTERNAL_SERVER_ERROR); ourAckCodesToResponseCodes.put(CE, HTTP_500_INTERNAL_SERVER_ERROR); Is there any reason for this particular behaviour or is this a "bug"? Is it possible to programmatically override these values? |