2

Rails アプリに SOAP Web サービスが必要です。(これは Quickbooks 統合用であり、QB Web コネクタは、エンドに Web サービスがあることを期待しています :(

元の data-noise/actionwebserice gem の Rails 3 ポートである dnordberg の actionwebservice gem (gem 'actionwebservice', :git => "git://github.com/dnordberg/actionwebservice.git") を試しました。

私はRoRに比較的慣れていないので(プログラミングではありません)、他に欠けているステップが何であるかはよくわかりません。上記の actionwebservice gem と SOAP4R を追加しました (github.com/felipec/soap4r.git)

Gemfile

gem 'soap4r', :git => 'git://github.com/felipec/soap4r.git'
gem 'actionwebservice', :git => 'https://github.com/dnordberg/actionwebservice.git'

http://www.ibm.com/developerworks/opensource/library/os-ws-rubyrails/index.htmlの指示に従いました 。

しかし、私は Web サービスを動作させることができません。ルートエラーが発生し続けます。(どうやら Rails はまだ WS として認識していないため、適切なコントローラー ルートを探していますか?)。

No route matches [GET] "/hello_message/wsdl"

http://localhost:3000/hello_message/wsdl の場合

rails 3.x で必要な手順を簡単に説明できる人はいますか? ありがとう!

ps:rails g web_serviceどちらも機能しません

4

3 に答える 3

2

私は ActionWebService のフォークに取り組んでおり、Rails 3.1.x のこの問題と、いくつかの足場の問題を修正しました。私のフォークはhttp://github.com/livestation/actionwebserviceにあります。

来週かそこらでさらに修正を加える予定なので、注意してください (「SOAP::Mapping::SOAPException を SOAP/OM にマップできません。」など)。コードが生成されます。)

現在の警告の 1 つは、まだ gem に追加していないため、Web サービス コントローラーとして割り当てたコントローラーに log_error(message) 関数を追加する必要があることです。

act_as_web_service呼び出しをコントローラーに追加してすべてをフックすることを忘れないでください。これは元のドキュメントでは言及されていなかったためです。

[編集] 私はこのバージョンの SOAP4r を使用していることを忘れていましたhttps://github.com/spox/soap4r-spox

コメントお待ちしております

于 2011-12-10T20:48:19.870 に答える
0

routes.rb に新しいルートを追加してみましたか?

match "/hello_message/wsdl" => "hello_message#wsdl"

Rails3は、すべてのルートを定義することについてより厳密です

http://guides.rubyonrails.org/routing.html

于 2011-10-24T13:59:03.313 に答える
0

routes.rb に以下を追加する必要がありました。

  get "hello_message/wsdl"
  post "hello_message/api"
于 2011-12-13T20:54:13.993 に答える