【问题标题】:xmlrpc apache - How to default handlerxmlrpc apache - 如何默认处理程序
【发布时间】:2013-04-29 10:03:33
【问题描述】:

我正在使用 apache 的 ws-xmlrpc api 实现开发一个 xmlrpc 服务器。

我将收到的 xml 请求是这样的:

<methodCall><methodName>add</methodName><params><param>

如您所见,请求中没有指定处理程序,例如“Calculator.add”。

我需要找到一种将默认处理程序添加到服务器的方法,以便方法名称为“add”的请求将由处理程序“Calculator”管理。

提前致谢

莱昂纳多

【问题讨论】:

  • 如果有帮助,您应该选择一个答案。

标签: apache xml-rpc


【解决方案1】:

您可以使用名称“$default”注册您的处理程序,然后您不需要“handlerName”。在方法调用中。

请参阅“XML-RPC 处理程序对象”下的http://ws.apache.org/xmlrpc/xmlrpc2/server.html

【讨论】:

    【解决方案2】:

    以下是实现它的最佳方法。添加处理程序映射时,请使用此类而不是默认类。

    公共类 MyHandlerMapping 扩展 PropertyHandlerMapping {

    @Override
    public XmlRpcHandler getHandler(String pHandlerName)
            throws XmlRpcNoSuchHandlerException, XmlRpcException {
    
        XmlRpcHandler result = null;
    
        try {
            result = super.getHandler("Calculator." + pHandlerName);
        } catch (Exception ex) {
            System.out
                    .println("Ignoring ALL exceptions so that default one will also get executed");
        }   
    
        if (result == null) {
            if ((result = super.getHandler(pHandlerName)) == null)
                throw new XmlRpcNoSuchHandlerException("No such handler: "
                        + pHandlerName);
        }
        return result;
    }
    

    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-12
      • 2016-09-02
      • 2015-04-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多