我试图通过XML-RPC导出Ruby框架.但是,当尝试从未直接添加为XML-RPC服务器的处理程序的类调用方法时,我遇到了一些问题.请看下面的例子:
我有一个测试Ruby XML-RPC服务器如下:
require "xmlrpc/server"
class ExampleBar
def bar()
return "hello world!"
end
end
class ExampleFoo
def foo()
return ExampleBar.new
end
def test()
return "test!"
end
end
s = XMLRPC::Server.new( 9090 )
s.add_introspection
s.add_handler( "example", ExampleFoo.new )
s.serve
Run Code Online (Sandbox Code Playgroud)
我有一个测试Python XML-RPC客户端,如下所示:
import xmlrpclib
s = xmlrpclib.Server( "http://127.0.0.1:9090/" )
print s.example.foo().bar()
Run Code Online (Sandbox Code Playgroud)
我希望python客户端打印"hello world!" 因为它相当于以下ruby代码:
example = ExampleFoo.new
puts example.foo().bar()
Run Code Online (Sandbox Code Playgroud)
但是它会生成错误:"xmlrpclib.ProtocolError:<ProtocolError for 127.0.0.1:9090/:500 Internal Server Error>".
print s.example.test()工作正常.
我不希望新的ExampleBar对象通过网络,但我希望它是'缓存'服务器端,随后调用bar()将被尊重.
XML-RPC可以支持这种用法还是太基本了?
所以我想我的问题确实是; 我怎样才能使这个工作,如果不是与XML-RPC有什么关系?
我想为我的服务器实现XMLRPC协议的支持,该协议是用C和C++编写的,现在正在寻找最广泛采用的xmlrpc库.许可证不是问题,GPL会没事的.你会建议什么?是否有任何defacto标准xmlrpc C库用于此目的?
我想在Joomla为客户编写一个小型Web服务,但我不知道如何开始.虽然我对Joomla非常熟悉并且对Web服务非常熟悉,但我对Joomla的Web服务完全不熟悉.
是否存在任何人都知道或可以在答案中证明的"你好,世界"的例子?有时我也看到计算器Web服务作为"hello,world"示例,您可以在其中支持各种操作,例如Add,Subtract等等.
我正在使用最新的Joomla 1.5.
它们只是相同的协议还是不同的东西?我对此感到困惑.实际上,我想通过Python调用用C#编写的Web服务.我尝试过XMLRPC,但似乎没有用.
那么它们之间的实际区别是什么?谢谢.
可能重复:
带有并发请求的Python XMLRPC
我正在使用SimpleXMLRPCServer类编写一个python应用程序,它将充当xml-rpc服务器.
现在我的问题是:如果2个或更多客户端同时发送请求会发生什么?他们排队了吗?我是否有保证,如果两个客户端调用相同或不同的功能,它们会一个接一个地执行而不是同时执行?
在android中使用XML-RPC的最简单方法是什么?我尝试了http://code.google.com/p/android-xmlrpc/,但它没有编译,看起来已经放弃了.
我的应用程序中需要复杂的逻辑,例如:
我解决了这种情况:
from twisted.web import xmlrpc
import xmlrpclib
class RPCProxy(xmlrpc.XMLRPC):
def xmlrpc_do_something(self, param1, param2):
result1 = self.do_some_calc1(param1, param2)
s = xmlrpclib.ServerProxy('http://some.another.server:1234/RPC2')
result2 = getattr(s, 'do_something_else')(result1)
result3 = self.do_some_calc2(result2)
return result3
Run Code Online (Sandbox Code Playgroud)
我应该如何以扭曲的方式做到这一点?
我正在尝试使用PHP和xmlrpc更新有关我的odoo产品的信息。这是我用于更新产品名称的代码。
$models->execute_kw($db, $uid, $password, 'product.product', 'write',
array(array(5), array('name'=>"Newer product 3",'type'=>"consu")));
Run Code Online (Sandbox Code Playgroud)
现在,我想更改“现有数量”字段,所以我尝试以下代码:
$models->execute_kw($db, $uid, $password, 'product.product', 'write',
array(array(5), array('name'=>"Newer product 3",'type'=>"consu",'qty_available'=>'7')));
Run Code Online (Sandbox Code Playgroud)
但是它不起作用,任何人都知道如何解决它?谢谢。
我是XML-RPC的新手,我想知道是否有任何关于使用Last.fm API的XML-RPC的好教程.
是否可以使用xmlrpclib模块调用API方法,如下例所示?
import xmlrpclib
myserver = xmlrpclib.ServerProxy('http://ws.audioscrobbler.com/2.0/')
Run Code Online (Sandbox Code Playgroud) 我需要使用XMLRPC从特定语言中获取odoo的翻译数据,默认情况下odoo使用默认语言发送数据,即英语
api.execute_kw(db, uid, pwd, 'res.country', 'search_read', [[]], {'fields': ['name']})
Run Code Online (Sandbox Code Playgroud)
如何为此请求添加上下文以使用特定的翻译语言.