Iterator args = rpcElement.getChildElements();
Map elementCounts = new HashMap();
while (args.hasNext()) {
OMElement arg = (OMElement) args.next();
QName qname = arg.getQName();
RPCParameter param = method.getParameter(qname);
if (param == null) {
// unknown parameter. Fault or continue depending on
// strictness configuration.
continue;
}
Integer count = (Integer)elementCounts.get(qname);
if (count == null) count = new Integer(0);
elementCounts.put(qname, new Integer(count.intValue() + 1));
Deserializer dser = param.getDeserializer(count.intValue(), values);
// Got a recognized param, so feed this through the deserializer
try {
deserialize(arg.getXMLStreamReader(), dser);
} catch (Exception e) {
throw AxisFault.makeFault(e);