enc.encodeToOutputStream(myOutputStream);
myOutputStream.flush();
ourLog.debug("Reading response from OutputStream");
RawReceivable response = null;
long endTime = System.currentTimeMillis() + myResponseTimeout;
do {
try {
Hl7OverHttpResponseDecoder d = new Hl7OverHttpResponseDecoder();
d.setSigner(mySigner);
d.setReadTimeout(myResponseTimeout);
d.readHeadersAndContentsFromInputStreamAndDecode(myInputStream);
response = new RawReceivable(d.getMessage());
InetSocketAddress remoteSocketAddress = (InetSocketAddress) socket.getRemoteSocketAddress();
String hostAddress = remoteSocketAddress.getAddress() != null ? remoteSocketAddress.getAddress().getHostAddress() : null;
response.addMetadata(MessageMetadataKeys.REMOTE_HOST_ADDRESS.name(), hostAddress);
} catch (NoMessageReceivedException ex) {
ourLog.debug("No message received yet");
} catch (IOException e) {
throw new DecodeException("Failed to read response from remote host", e);