Я хочу позвонить на мыльный веб-сервис от zoyto.Я пробовал следующий код, который не работает для меня: -
def get_order_status
require 'soap/wsdlDriver'
api_key = 'key value'
api_secret = 'secret'
timestamp = Time.now.utc.strftime("%Y-%m-%dT%H:%M:%SZ")
version = "2.0"
service_name = 'Zoyto Fulfillment Service'
method = 'getOrderStatus'
canonical_string = (service_name + method + timestamp).downcase
digest = OpenSSL::Digest::Digest.new('sha1')
signature = (Base64::encode64(OpenSSL::HMAC.digest(digest, api_secret, canonical_string))).chomp
clientorderids = [ "1"]
wsdlfile = "https://test.zoyto.com/zfulfillment/api/?WSDL"
service = "Zoyto Fulfillment"
digest = OpenSSL::Digest::Digest.new('sha1')
XSD::Charset.encoding = 'UTF8'
driver = SOAP::WSDLDriverFactory.new(wsdlfile).create_rpc_driver
driver.wiredump_dev = $stdout
response = driver.getOrderStatus({ :api_key => api_key, :timestamp => timestamp, :signature => signature, :version => version})
end
, и входной XML-код выглядит такперейти в веб-сервис.