When the headers are read in and stored in the context.inMessage.Header the value of the header elements contains new line characters. So for the SOAP message:
The action header contains a new line character at the beginning and end of the string. ie "\n http://x.com/TestMehod\n"
In the AddressInHandler.invoke method, the action is looked up to find an operation and it can't match anything because of the new line characters. In this line:
AddressingOperationInfo aop = AddressingOperationInfo.getOperationByInAction(service.getServiceInfo(), headers
the headers.getAction() returns the action value with new line characters.
They need to be stripped off somewhere along the way.