Ошибка 500 при вызове веб-сервиса через rhosync / rhodes - PullRequest
0 голосов
/ 27 января 2011

Я пытаюсь вызвать веб-сервис в rhosync application.rb, в консоли rhosync появляется сообщение об ошибке 500. В симуляторе BB "сервер вернул ошибку" .. :(

Некоторая информацияо моей настройке -

Я создал приложение rhodes, которое подключается к приложению rhosync, когда пользователь вводит имя пользователя и пароль и нажимает «логин». Я вызываю этот веб-сервис с помощью метода «authenticate» application.rbприложения rhosync ..

def authenticate(username,password,session)
    Rho::AsyncHttp.get(:url => 'http://mywebserviceURL',:callback => (url_for :action => :httpget_callback),:callback_param => "" )
end

ОБНОВЛЕНИЕ

Вместо http: async я попытался использовать веб-службу на основе мыла, и она работала просто отлично .. воткод, если кто-то здесь находится в поисках образца .. в application.rb приложения rhosync

  require "soap/rpc/driver"


        class Application < Rhosync::Base
          class << self
           def authenticate(username,password,session)
              driver = SOAP::RPC::Driver.new('http://webserviceurl')
              driver.add_method('authenticate', 'username', 'password')
              ret=driver.authenticate(username,password)
              if ret=="Success" then
            true
              else
                false
              end
            end
        end

        Application.initializer(ROOT_PATH)

Ответы [ 2 ]

0 голосов
/ 26 апреля 2011

требуется "мыло / RPC / драйвер"

    class Application < Rhosync::Base
      class << self
       def authenticate(username,password,session)
          driver = SOAP::RPC::Driver.new('http://webserviceurl')
          driver.add_method('authenticate', 'username', 'password')
          ret=driver.authenticate(username,password)
          if ret=="Success" then
        true
          else
            false
          end
        end
    end

    Application.initializer(ROOT_PATH)

в этом, что делается в методе add_method и authenticate и где это должно быть написано.

0 голосов
/ 08 февраля 2011

Обычно вы можете найти проблему, если провернули журнал. Отредактируйте rhoconfig.txt в вашем приложении установить эти свойства -

# Rhodes runtime properties
MinSeverity  = 1
LogToOutput = 1
LogCategories = *
ExcludeLogCategories =

, попробуйте еще раз и посмотрите вывод терминала. Не стесняйтесь отправить журнал обратно, и я посмотрю. Вы также можете захотеть повторить вывод mywebserviceURL, если вы используете это как переменную, я надеюсь, вы просто изменили это для поста здесь Можете ли вы получить доступ к веб-сервису, если вы нажали на него с помощью браузера?

...