class SimpleShipping::Ups::VoidClient
Required credentials:
-
username
-
password
-
access_license_number
Usage¶ ↑
client = SimpleShipping::Ups::VoidClient.new(:username => "USER NAME", :password => "PASSWORD", :access_license_number => "LICENSE NUMBER") client.request(shipper, recipient, package) # => #<SimpleShipping::Ups::Response ...>
Public Instance Methods
void_request(shipment_identification_number, options = {})
click to toggle source
Build VoidRequest
and perform the request.
@param shipment_identification_number [String] @param options [Hash]
# File lib/simple_shipping/ups/void_client.rb, line 23 def void_request(shipment_identification_number, options = {}) request = VoidRequest.new(@credentials, shipment_identification_number, options) execute(request) end
Protected Instance Methods
client_options(options = {})
click to toggle source
@param [Hash] options Savon client options
Calls superclass method
SimpleShipping::Ups::Client#client_options
# File lib/simple_shipping/ups/void_client.rb, line 29 def client_options(options = {}) super.deep_merge( :namespaces => { # Savon parses have WSDL instead of XMLSchema which is not accepted by UPS # So we have to again set namespace explicitly :( -- aignatev 20130204 'xmlns:void' => "http://www.ups.com/XMLSchema/XOLTWS/Void/v1.1" } ) end
Private Instance Methods
execute(request)
click to toggle source
Perform ShipmentRequest
to UPS service.
# File lib/simple_shipping/ups/void_client.rb, line 41 def execute(request) savon_response = @client.call(request.type, :message => request.body) log_response(savon_response) request.response(savon_response) rescue Savon::SOAPFault => err raise SimpleShipping::RequestError.new(err) end