protected OperationInfo findOperation(Collection operations, List parameters)
{
// first check for exact matches
for ( Iterator itr = operations.iterator(); itr.hasNext(); )
{
OperationInfo o = (OperationInfo) itr.next();
List messageParts = o.getInputMessage().getMessageParts();
if ( messageParts.size() == parameters.size() )
{
if (checkExactParameters(messageParts, parameters))
return o;
}
}
// now check for assignable matches
for ( Iterator itr = operations.iterator(); itr.hasNext(); )
{
OperationInfo o = (OperationInfo) itr.next();
List messageParts = o.getInputMessage().getMessageParts();
if ( messageParts.size() == parameters.size() )
{
if (checkParameters(messageParts, parameters))
return o;
}