inputStream.setCodeSet( connection.getTCS(), connection.getTCSW() );
inputStream.updateMutatorConnection(connection);
ServerRequest server_request = null;
try
{
server_request =
new ServerRequest( orb, inputStream, connection );
}
catch( org.jacorb.poa.except.POAInternalError pie )
{
logger.warn("Received a request with a non-jacorb object key" );
if( inputStream.isLocateRequest() )
{
LocateReplyOutputStream lr_out =
new LocateReplyOutputStream( orb,
inputStream.req_hdr.request_id,
LocateStatusType_1_2._UNKNOWN_OBJECT,
inputStream.getGIOPMinor() );
try
{
connection.sendReply( lr_out );
}
catch( IOException e )
{
logger.warn("IOException",e);
}
}
else
{
ReplyOutputStream out =
new ReplyOutputStream( orb,
inputStream.req_hdr.request_id,
ReplyStatusType_1_2.SYSTEM_EXCEPTION,
inputStream.getGIOPMinor(),
false,
logger );//no locate reply
try
{
SystemExceptionHelper.write( out,
new OBJECT_NOT_EXIST( 0, CompletionStatus.COMPLETED_NO ));
connection.sendReply( out );
}
catch( IOException e )
{
logger.warn("unexpected exception during requestReceived", e);
}
}
return;
}
if (inputStream.isLocateRequest() &&
( ! Arrays.equals (server_request.objectKey(), org.jacorb.orb.ParsedIOR.extractObjectKey(inputStream.req_hdr.target, orb))))
{
org.omg.CORBA.Object fwd = orb.getReference
(
orb.getRootPOA(),
server_request.objectKey(),
null,
true
);
if (logger.isDebugEnabled ())