質問

私はAを作成しています Mr. Migratorのデモ そして、迷惑な問題に遭遇しました、 ここに紹介されています:

# create image
proxy = xmlrpclib.ServerProxy(url) # reset
data = open('screenshot.png').read()
try:
    proxy.invokeFactory('Image', 'screenshot.png')
except xmlrpclib.ProtocolError:
    print sys.exc_info()[1]
except xmlrpclib.Fault:
    print "The id is invalid - it is already in use." # most likely
proxy = xmlrpclib.ServerProxy(url + '/screenshot.png')
proxy.setTitle('This is an image')
try:
    proxy.setImage(data) # XXX this fails
except:
    print sys.exc_info()[1]

このコードは、画像フィールドに画像からのデータを入力する必要がありますが、代わりに次のものと一貫して失敗します。

<ProtocolError for admin:admin@localhost:8080/Plone/screenshot.png: 500 Internal Server Error>

さらに悪いことに、これはすべてZope2が言うことです。手前での鳴き声を実行する際に問題を示す痕跡や他のものはありません。

私の次のステップは何ですか?ここでこれをチェックして再現できます。

私はこれを「通常の」方法で行い、キーワードの引数は招待されるために渡されましたが、 XML-RPCはそれらをサポートしていません.

役に立ちましたか?

解決

これはおそらく特別な文字エラーです。 XML-RPCプロトコルは、XMLで使用できる任意の文字を使用できます。画像データをバイナリラッパーにラップしてみてください。

wrappedData = xmlrpclib.Binary(open('screenshot.png').read())

より詳しい情報:

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top