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?
------------------------------------------------------------------------------
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk
_______________________________________________
Hl7api-devel mailing list
Hl7api-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hl7api-devel

Reply via email to