I created a Ruby client using the following command: wsdl2ruby.rb --wsdl https://fba-inbound.amazonaws.com/doc/2007-05-10/FBAInboundService.wsdl --type client --force
Here is how I call the service:
@service = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver @service.generate_explicit_type = true @service.wiredump_dev = STDOUT @service.endpoint_url = url
begin result = @service.GetServiceStatus() rescue Exception => ex puts "Caught an exception:\n#{ex}" end
Here is the relevant part of default.rb (generated by the above command): # {http://fba-inbound.amazonaws.com/doc/2007-05-10/\}GetServiceStatus class GetServiceStatus @@schema_type = "GetServiceStatus" @@schema_ns = "http://fba-inbound.amazonaws.com/doc/ 2007-05-10/" @@schema_qualified = "true" @@schema_element =
def initialize end
end # {http://fba-inbound.amazonaws.com/doc/ 2007-05-10/}GetServiceStatusResponse class GetServiceStatusResponse @@schema_type = "GetServiceStatusResponse" @@schema_ns = "http://fba-inbound.amazonaws.com/doc/2007-05-10/" @@schema_qualified = "true" @@schema_element = [["getServiceStatusResult", [nil, XSD::QName.new("http://fba-inbound.amazonaws.com/doc/2007-05-10/", "GetServiceStatusResult")]], ["responseMetadata", [nil, XSD::QName.new("http://fba-inbound.amazonaws.com/doc/2007-05-10/", "ResponseMetadata")]]]
def GetServiceStatusResult @getServiceStatusResult end
def GetServiceStatusResult=(value) @getServiceStatusResult = value end
def ResponseMetadata @responseMetadata end
def ResponseMetadata=(value) @responseMetadata = value
end def initialize(getServiceStatusResult = nil, responseMetadata = nil) @getServiceStatusResult = getServiceStatusResult @responseMetadata = responseMetadata end end
When I run this I get: Caught an exception: wrong number of arguments (0 for 1)
Also, when I try to get clever and call it as follows: result = @service.GetServiceStatus(nil)
I can see the response from the web server, but I get the following exception (I believe this is thrown when creating the GetServiceStatusResponse object as the "result" variable above is nil): Caught an exception: private method `sub' called for nil:NilClass
Calls to other methods which have at least one argument work, but I cannot successfully call this 0-argument method and get back the response.
Any help is appreciated.
Thanks. Eric