2014-12-03 58 views
0

我想每個API的說明這些限制,達到一個SOAP API:301錯誤的SOAP API

  1. 驗證方法是http_base_auth,客戶端應用程序可以利用HTTP和HTTPS協議進行身份驗證。

  2. PaaS公司帳戶登錄&密碼必須通過SOAP標頭傳遞。 SOAP有一個API來設置HTTP基本認證的用戶ID /密碼。

現在這就是我:

require 'savon' 

client = Savon.client(basic_auth: ['paas_login_info', 'paas_password_info'], wsdl: "http://www.webiste.com/us/paas/s3PaaS.wsdl") 

message = {"CUSTOMER_ID" => 55555555555, "EMPLOYEE_ID" => 1111} 

response = client.call(:s3_paas_add_something, message: message, soap_header: {'login' => 'pass_login_info', 'password' => 'paas_password_info'}) 

p response #=> <h1>Moved Permanently</h1> <p>The document has moved <a href="http://www.website.com/us/paas/PaaSServer.php">here</a>.</p> 

我複製pass_login_infopass_password_info,因爲我真的不知道如何滿足兩方面的要求,但是當我擺脫的任一/兩者我仍然得到這個錯誤,當我認爲我ping API。

其他怪異的音符,當我把這個變成SOAPUI我的服務沒有表現出任何的操作,就像它與其他測試服務確實喜歡http://www.webservicex.net/uszip.asmx?WSDL

+0

歡迎來到Stack Overflow。沒有必要告訴我們你是否是Stack Overflow或Ruby的新手,相反,只要問好,仔細考慮和研究問題,你就會做得很好。 – 2014-12-03 21:47:09

回答

0

你好select_the_choice,

我真的不看到這個問題,但由於我已經掙扎了足夠的時間將magento平臺整合到rails應用程序中,我會盡力幫助你。

首先我建議你使用REST,如果可以的話。速度會更快,即使身份驗證看起來有點難度,未來一切都會變得更加容易。

如果您想繼續使用SOAP,請確保您有第二版savon。

我不知道到底什麼是你想要做什麼是你的終點,但是這是一個SOAP到Magento的要求應該怎麼看起來像

host = "http://website.com/index.php/api/v2_soap/index/?wsdl=1" 
client = Savon.client(wsdl: host) 

session_id = client.call(:login, message: { 
    username: "YOUR_USERNAME", 
    api_key: "YOUR_PASSWORD" 
}).body[:login_response][:login_return] 

client.call(:customer_customer_create, message: { 
    sessionId: session_id, 
    customerData: [{ 
    firstname: self.profile.first_name, # let's say we are in User model 
    lastname: self.profile.last_name 
    }] 
}) 

希望它能幫助!