- return new RpcServiceInvoker(
- org.opendaylight.yangtools.yang.binding.util.RpcServiceInvoker.from(qnameToMethod));
+ checkArgument(!qnameToMethod.isEmpty());
+ QNameModule module = null;
+
+ for (QName qname : qnameToMethod.keySet()) {
+ if (module != null) {
+ if (!module.equals(qname.getModule())) {
+ LOG.debug("QNames from different modules {} and {}, falling back to QName map", module,
+ qname.getModule());
+ return QNameRpcServiceInvoker.instanceFor(qnameToMethod);
+ }
+ } else {
+ module = qname.getModule();
+ }
+ }
+
+ // All module are equal, which means we can use localName only
+ return LocalNameRpcServiceInvoker.instanceFor(module, qnameToMethod);