我正在尝试根据API说明使用这些限制来访问SOAP API:
身份验证方法是http_base_auth,客户端应用程序可以利用HTTP和HTTPS协议进行身份验证。
- 醇>
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_info
和pass_password_info
,因为我真的不明白如何满足这两个要求,但当我摆脱其中任何一个/两者时,我仍然会收到此错误当我想我正在ping API时。
其他奇怪的说法,当我把它放到SOAPUI中时,我的服务没有显示任何操作,就像它与其他测试服务一样,如http://www.webservicex.net/uszip.asmx?WSDL
答案 0 :(得分: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
}]
})
希望它有所帮助!