标签: xml-rpc

如何在C#中使用XMLRPC

我需要从我的C#应用​​程序进行XMLRPC调用,但我没有找到任何帮助.当我使用Ruby的XMLRPC时,它很简单:

server = XMLRPC::Client.new2("http://server/api.php")
result = server.call("remote.procedure", [1, [['crit1', 'crit2', 'crit3']]])
Run Code Online (Sandbox Code Playgroud)

是否有类似的C#库?

c# xml-rpc xml-rpc.net

16
推荐指数
2
解决办法
3万
查看次数

XML-RPC比普通XML有什么好处?

我的公司已经使用XML-RPC一段时间了,但最近我想知道XML-RPC与普通XML相比有什么好处.首先,它是可怕的"肥胖",考虑:

<struct>
    <member>
        <name>ROOM_ID</name>
        <value>
            <int>1</int>
        </value>
    </member>

    <member>
        <name>CODE</name>
        <value>
            <string>MR-101</string>
        </value>
    </member>

    <member>
        <name>NAME</name>
        <value>
            <string>Math Room</string>
        </value>
    </member>

    <member>
        <name>CAPACITY</name>
        <value>
            <int>30</int>
        </value>
    </member>
</struct>
Run Code Online (Sandbox Code Playgroud)

与此相比:

<room><ROOM_ID>1</ROOM_ID><CODE>MR-101</CODE>
<NAME>Math Room</NAME><CAPACITY>30</CAPACITY></room>
Run Code Online (Sandbox Code Playgroud)

甚至这个:

<room ROOM_ID=1 CODE=MR-101 NAME=”Math Room” CAPACITY=30 />
Run Code Online (Sandbox Code Playgroud)

其次,XML-RPC似乎相当普遍,但并不是普遍存在,我对C++和PHP中对它的支持印象不深.我在两种语言中尝试过的所有库都遇到了问题.

第三,在我看来,我可以像使用XML-RPC一样使用纯XML进行远程过程调用.{(9/9/2009):每种语言都有用于将语言级对象序列化为XML的库.XML和XML-RPC都需要定义应用程序级模式,例如,字段应如何拼写,但不需要定义任何其他模式.许多人使用纯XML进行RPC调用.}

那么XML-RPC的增值是什么?

xml xml-rpc

16
推荐指数
2
解决办法
7524
查看次数

如何在python 3.4中安装xmlrpclib?

当我尝试安装xmlrpclib时,我在python 3.4版中遇到以下错误

下载/解压缩xmlrpclib无法找到满足要求的任何下载xmlrpclib忽略了一些外部托管文件(使用--allow-external xmlrpclib允许).正在清理...找不到xmlrpclib的所有发行版在/home/shiva/.pip/pip.log中存储失败的调试日志

如何在python 3.4中安装xmlrpclib?

python xml-rpc xmlrpclib xmlrpcclient python-3.4

15
推荐指数
2
解决办法
2万
查看次数

Ruby fog gem导致服务器无法运行:无法加载此类文件 - xmlrpc/client(LoadError)

正如标题所述,我正在尝试建立一个Ubuntu 16.04系统来处理rails应用程序.当我注释掉fog gem时,服务器在本地启动,并且在其中留下gem会产生下面的错误消息.谷歌搜索似乎没有提供任何东西,因为我找不到其他人与我有相同的错误,我不能简单地从应用程序中删除宝石,因为它是需要的.

完整信息如下:

/home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `require': cannot load such file -- xmlrpc/client (LoadError)
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `block in require'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `require'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/fog-1.28.0/lib/fog/xenserver/core.rb:15:in `<class:Connection>'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/fog-1.28.0/lib/fog/xenserver/core.rb:14:in `<module:XenServer>'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/fog-1.28.0/lib/fog/xenserver/core.rb:5:in `<module:Fog>'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/fog-1.28.0/lib/fog/xenserver/core.rb:4:in `<top (required)>'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `require'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `block in require'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `require'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/fog-1.28.0/lib/fog/xenserver/compute.rb:1:in `<top (required)>'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `require'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `block in require'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `require'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/fog-1.28.0/lib/fog/xenserver.rb:1:in `<top (required)>'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `require'
from /home/mark/.rvm/gems/ruby-2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `block in …
Run Code Online (Sandbox Code Playgroud)

ubuntu xml-rpc fog

15
推荐指数
1
解决办法
5555
查看次数

使用XMLRPC将文件从客户端发送到服务器?

我想编写Python代码以将文件从客户端发送到服务器.服务器需要保存从客户端发送的文件.但我的代码有一些我无法解决的错误.以下是我的服务器代码:

# server.py
from SimpleXMLRPCServer import SimpleXMLRPCServer
import os

server = SimpleXMLRPCServer(('localhost', 9000))

def save_data(data):
    handle = open("x123.dat", "wb")
    handle.write(data)
    handle.close()

server.register_function(save_data, 'save_data')
server.serve_forever()
Run Code Online (Sandbox Code Playgroud)

和客户端代码:

# client.py
import sys, xmlrpclib

proxy = xmlrpclib.Server('http://localhost:9000')
handle = open(sys.argv[1], "rb")
proxy.save_data(handle.read())
handle.close()
Run Code Online (Sandbox Code Playgroud)

但后来我运行我的代码,客户端返回以下错误(这是在Windows上):

Traceback (most recent call last):
File "client.py", line 6, in <module> proxy.save_data(handle.read())
File "c:\python27\lib\xmlrpclib.py", line 1224, in __call__
  return self.__send(self.__name, args)
File "c:\python27\lib\xmlrpclib.py", line 1575, in __request
  verbose=self.__verbose
File "c:\python27\lib\xmlrpclib.py", line 1264, in request
  return self.single_request(host, handler, request_body, verbose)
File …
Run Code Online (Sandbox Code Playgroud)

python xml-rpc sendfile

14
推荐指数
1
解决办法
8356
查看次数

在Cocoa应用程序中使用XML-RPC的最佳方法?

我想为使用XML-RPC的应用程序编写一个GUI包装器,并想知道是否有任何可用于Cocoa的XML-RPC框架,如果有,那么什么是最好的?

提前致谢

cocoa xml-rpc objective-c

13
推荐指数
2
解决办法
7175
查看次数

教程:简单的WCF XML-RPC客户端

更新:我在下面的回答中提供了完整的代码示例.

我已经构建了自己的小型自定义XML-RPC服务器,因为我想在服务器端和客户端都保持简单,我想要完成的是使用WCF创建一个最简单的客户端(最好是C#) .

假设通过XML-RPC公开的服务合同如下:

[ServiceContract]
public interface IContract
{
    [OperationContract(Action="Ping")]
    string Ping(); // server returns back string "Pong"

    [OperationContract(Action="Echo")]
    string Echo(string message); // server echoes back whatever message is
}
Run Code Online (Sandbox Code Playgroud)

因此,有两个示例方法,一个没有任何参数,另一个带有简单的字符串参数,两个都返回字符串(仅为了示例).服务通过http公开.

Aaand,下一步是什么?:)

c# wcf client xml-rpc

13
推荐指数
2
解决办法
3万
查看次数

Apache的Java XMLRPC库

我正在使用我的XML-RPC服务使用Apache XML-RPC库但是在响应XML-RPC时有垃圾字符,因此库无法解析结果

这是我的XML-RPC程序:

import java.net.URL;

import org.apache.xmlrpc.client.XmlRpcClient;
import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;


public class XMLRpcExample {

    public static void main(String[] args) throws Exception{
        // TODO Auto-generated method stub

        XmlRpcClientConfigImpl cf = new XmlRpcClientConfigImpl();
        cf.setServerURL(new URL("/xmlrpc/object"));
        cf.setBasicUserName("admin");
        cf.setBasicPassword("m_demo");
        cf.setConnectionTimeout(60000);
        XmlRpcClient client = new XmlRpcClient();
        client.setConfig(cf);
        Object[] params = new Object[] {"dbname",1,"m_demo","res.partner","partner_sync_openerp","kapil5drd@bxiz","22"};
        String s =(String)client.execute("execute", params);
        System.out.println(s);
    }

}

但我收到此错误的响应,看起来像这样:

[Fatal Error] :16:16: An invalid XML character (Unicode: 0xc) was found in the element content of the document.
Exception in thread "main" org.apache.xmlrpc.client.XmlRpcClientException: Failed to …

java xml-rpc

13
推荐指数
1
解决办法
2237
查看次数

如何在xslt中控制布尔渲染

要使用符合<boolean> XML-RPC的规范,我需要改变我xs:booleantrue|false1|0.

我用xsl解决了这个问题:选择

<xsl:template match="Foo">
    <member>
        <name>Baz</name>
        <value>
            <boolean>
                <xsl:choose>
                    <xsl:when test=".='true'">1</xsl:when>
                    <xsl:otherwise>0</xsl:otherwise>
                </xsl:choose>
            </boolean>
        </value>
    </member>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

但是想知道在用xslt 1.0转换时是否有一种不那么脆弱的方法来控制布尔值的渲染方式.

xslt casting boolean xml-rpc

11
推荐指数
1
解决办法
6540
查看次数

Python的xmlrpc非常慢:每次调用一秒钟

根据Python文档中的示例,我使用SimpleXMLRPCServer在Python中构建了一个xml-rpc服务器.我是在同一台机器上的Python客户端调用它.服务器功能的主体自己执行得非常快.

但我发现xmlrpc客户端性能极其缓慢,每次调用需要一秒钟.(使用xmlrpclib.)

我在网上找到的加速技术(跳过getfqdn解决方案)没有帮助.

我的连接URI是:

'http://localhost:50080'
Run Code Online (Sandbox Code Playgroud)

我在Windows 7上运行Python 2.7 x64,但对于32位Python 2.7,它的工作原理相同.

python xml-rpc simplexmlrpcserver xmlrpclib

11
推荐指数
1
解决办法
3171
查看次数