2013-10-14 72 views
1

我有Flask應用程序,需要添加SOAP服務器功能以與某些服務集成。 Spyne圖書館被選爲SOAP。我發現如何使用werkzeug.wsgi.DispatcherMiddleware將Flask和Spyne wsgi應用程序結合在一起。但是現在我面臨着在Spyne服務視圖中獲取Flask應用程序配置的問題。我通常使用current_app.config['FOO']來獲取Flask應用程序設置,但是當請求發佈到Spyne wsgi應用程序時,我沒有Flask應用程序上下文。我需要一個建議如何處理它,請。Spyne with Flask應用程序上下文

+0

我用瓶但不知道Spyne,只是一個建議:如何使用Flask和Spyne共享的配置文件?參見[Flask從文件配置](http://flask.pocoo.org/docs/config/#configuring-from-files)。 –

+0

是的,我可以。但我的應用程序有一些配置,並且有一些配置邏輯。更好的是共享只讀配置實例。我會嘗試。我的思想陷入了沉思,認爲我一直都有應用背景,這非常得心應手。 –

+0

嗨,Spyne維護者在這裏。你能提供一個有效的例子嗎?我瀏覽了Flask應用程序配置頁面,但沒有發現你的具體用例。 –

回答

0

我不知道如何獲得Flask上下文以外的配置對象,但是如果可以的話,您可以設置Application實例的任何內容,該實例在Spyne的@rpc上下文中可通過ctx.app訪問。

+0

這是我選擇的解決方案。在'wsgi_call'上,我將'ctx.udc.config'設置爲'flask_app.config',並在需要的地方使用它。 –

+0

這是正確的做法。如果你可以分享你的代碼,我可以把它放在主要倉庫的Spyne例子目錄中。我在您分享的示例中看不到wsgi_call事件。 –

+0

我用瓶子示例創建了一個拉請求示例https://github.com/arskom/spyne/pull/286 –

-1

我假設一個共享的配置文件的方法是不可能的你,否則我會去進口從配置文件中的spyne 例如,從配置進口等等等等 只是一個想法