diff --git a/jaxws-ri/rt/src/main/java/com/sun/xml/ws/protocol/soap/ServerMUTube.java b/jaxws-ri/rt/src/main/java/com/sun/xml/ws/protocol/soap/ServerMUTube.java index 8f69d5e45a..6c70d4e909 100644 --- a/jaxws-ri/rt/src/main/java/com/sun/xml/ws/protocol/soap/ServerMUTube.java +++ b/jaxws-ri/rt/src/main/java/com/sun/xml/ws/protocol/soap/ServerMUTube.java @@ -87,14 +87,15 @@ protected ServerMUTube(ServerMUTube that, TubeCloner cloner) { */ @Override public NextAction processRequest(Packet request) { - Set misUnderstoodHeaders=null; - lock.lock(); - try{ - misUnderstoodHeaders = getMisUnderstoodHeaders(request.getMessage().getHeaders(),roles, handlerKnownHeaders); - }finally{ - lock.unlock(); - } - if((misUnderstoodHeaders == null) || misUnderstoodHeaders.isEmpty()) { + Set misUnderstoodHeaders=null; + lock.lock(); + try{ + misUnderstoodHeaders = getMisUnderstoodHeaders(request.getMessage().getHeaders(),roles, handlerKnownHeaders); + } + finally{ + lock.unlock(); + } + if((misUnderstoodHeaders == null) || misUnderstoodHeaders.isEmpty()) { return doInvoke(super.next, request); } return doReturnWith(request.createServerResponse(createMUSOAPFaultMessage(misUnderstoodHeaders),