2011-01-04 8 views
2

ruby​​で書かれたサーバを使用するxmlrpcクライアントを書いています。関数の1つはframework.busy?()です。私はルビーのバージョンを表示させてください:特殊文字を関数に使用:Python

server.call("framework.busy?") 

したがって、私はServerProxyクラスのインスタンスを作成すると仮定しましょうサーバー。したがって、Pythonを使用して関数を呼び出し中にビジー状態になりましたか?私が使用する必要があります。

server.framework.busy?() 

これはエラーにつながる:

SyntaxError: invalid syntax 

私は、この関数を呼び出すことができますどのように?あるいは、私は間違ってルビーコードを読んで、それを間違って実装しています。

答えて

6

私は疑問符をXMLメソッドを呼び出す必要があったことがありません(と私は強く、それが実際に外でXML-RPCの仕様であるかもしれない疑いがある)が、この試してみてください。

server.framework.getattr('busy?')() 

を私はの見当がつかないコードサンプルを投稿して、テストできるサーバを用意する必要があります。 :)

いずれにしても、メソッド名に疑問符を付けるのは良い考えではないので、Rubyサーバをより明快なものに変更することができれば助かります。

+3

「忙しいですか?有効なxml-rpcメソッド名ではありません。 "にはというサブアイテムが含まれている必要があります。サブアイテムは呼び出すメソッドの名前を含む文字列です。この文字列には識別子文字のみが含まれている場合がありますが、大文字と小文字のAZ、数字、0-9、アンダースコア、ドット、コロン、およびスラッシュです。メソッド名の文字をどのように解釈するかは、サーバーによって決まります。 – Duncan

+1

これは、名前にドット、コロン、およびスラッシュを含むメソッドを呼び出す場合にも、この答えが有効であることを意味します。 – jsbueno

+1

はい、私はプログラマーに話し、彼はサーバーのメソッド名を変更しました。返信をありがとう。 – satran