【问题标题】:Error: Wasabi::Resolver::HTTPError in HomeController#index for MindBody API SOAP RoR错误:HomeController#index for MindBody API SOAP RoR 中的 Wasabi::Resolver::HTTPError
【发布时间】:2015-02-23 06:22:43
【问题描述】:

我正在尝试链接到 mindbody API 以通过此 git 预订会员使用 RoR:https://github.com/mindbody/API-Examples/tree/master/Ruby

错误:

HomeController#index 中的 Wasabi::Resolver::HTTPError

根据日志,我没有输入正确的详细信息。但是,我已经更改了 home_controller 控制器文件中的源和用户凭据。

source_credentials = {:SourceName => 'MySourceName', :Password => 'MySourcePassword', :SiteIDs => site_ids } user_credentials = { :Username => 'MyUsername', :Password => 'MyUserPassword', :SiteIDs => site_ids }

提前致谢!

SOAP 日志:

_getClasses_request.xml

<?xml version="1.0" encoding="utf-8" ?> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <n1:GetClasses xmlns:n1="http://clients.mindbodyonline.com/api/0_5"> <n1:Request> </n1:Request> </n1:GetClasses> </env:Body> </env:Envelope>

_getClasses_response.xml:

<soap:Body> <GetClassesResponse xmlns="http://clients.mindbodyonline.com/api/0_5"> <GetClassesResult> <Status>InvalidCredentials</Status> <Message>SourceCredentials must be provided.</Message> <XMLDetail>Full</XMLDetail> <ResultCount>0</ResultCount> <CurrentPageIndex>0</CurrentPageIndex> <TotalPageCount>0</TotalPageCount> </GetClassesResult> </GetClassesResponse> </soap:Body> </soap:Envelope>

【问题讨论】:

    标签: ruby-on-rails xml soap error-handling mindbody


    【解决方案1】:

    我可能会避免将您计划为 MindBody 应用程序编写的任何 Ruby 代码基于您在他们的官方示例代码存储库中找到的代码,而只需使用 mindbody-api gem 来包装您的 API 调用。

    至于您的问题,实际上您似乎没有将任何身份验证参数(既不是源凭据,也不是用户凭据)传递到您的 XML 请求中,这可以解释您得到的响应。

    如果您还没有,请查看 MindBody 文档的 Authentication page 以及 ClassService page 文档页面中的 GetClasses 条目,了解您的 XML 请求应该是什么样子(两者都需要 MindBody帐户访问)。

    【讨论】:

    • MindBody 文档中的 XML 代码和 [MindBody gem] (github.com/wingrunr21/mindbody-api) 的格式不正确。
    • 我发现 MindBody 文档通常非常不可靠,所以这并不让我感到惊讶。至于 XML,我对 mindbody-api gem 中包含的内容没有任何特殊问题,尽管我确实需要修改一些 services classes 以删除 :required 参数以便能够,例如,基于每个 API 调出动态更改凭据。顺便问一下,您是如何解决问题的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-24
    • 1970-01-01
    • 2018-02-01
    • 1970-01-01
    相关资源
    最近更新 更多