Welcome to the "trac"-ing site of soap4r!
[soap4r] [httpclient] [openpgp4u] [pkcs1] [logger] [csv] [vtr]

root/tags/RELEASE_1_5_2/sample/apacheClient.rb

Revision 832, 2.1 kB (checked in by nahi, 5 years ago)

* *.rb: change coding convention.

  • camelCase -> non_camel_case
  • foo( bar ) -> foo(bar)
  • foo[ bar ] -> foo[bar]
  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to author date id revision
Line 
1 #!/usr/bin/env ruby
2
3 require 'soap/rpc/driver'
4 require 'soap/XMLSchemaDatatypes1999'
5
6
7 class SampleClient < Application
8
9   private
10
11   AppName = 'SampleClient'
12
13   NS1 = 'urn:i3solutions-delayed-quotes'
14   NS2 = 'urn:AddressFetcher'
15
16   def initialize(server, proxy)
17     super(AppName)
18     @server = server
19     @proxy = proxy
20     @drv1 = nil
21     @drv2 = nil
22   end
23
24   def run
25     # Driver initialize and method definition
26
27     @drv1 = SOAP::RPC::Driver.new(@server, NS1)
28     @drv1.addMethod('getQuote', 'symbol')
29
30     @drv2 = SOAP::RPC::Driver.new(@server, NS2)
31     @drv2.addMethod('getAddressFromName', 'nameToLookup')
32     @drv2.addMethod('addEntry', 'nameToRegister', 'address')
33
34     # Method invocation
35
36     puts @drv1.getQuote("IBM")
37
38     address = @drv2.getAddressFromName("John B. Good")
39     dumpAddress(address)
40
41     phoneNumber = PhoneNumber.new(987, '654', '3210')
42     address = Address.new(123, 'STREET', 'CITY', 'NY', 99999, phoneNumber)
43     result = @drv2.addEntry('NaHi', address)
44     puts 'NaHi has been added.'
45
46     address = @drv2.getAddressFromName("NaHi")
47     dumpAddress(address)
48
49     return 0
50   end
51
52   def dumpAddress(addr)
53     phone = addr.phoneNumber
54     puts <<EOS
55 #{ addr.streetNum } #{ addr.streetName }
56 #{ addr.city }, #{ addr.state } #{ addr.zip }
57 (#{ phone.areaCode }) #{ phone.exchange }-#{ phone.number }
58 EOS
59   end
60 end
61
62
63 class Address
64   @@typeName = 'address'
65   @@typeNamespace = 'urn:ibm-soap-address-demo'
66
67   attr_accessor :streetNum, :streetName, :city, :state, :zip, :phoneNumber
68   def initialize(streetNum = nil, streetName = nil, city = nil, state = nil, zip = nil, phoneNumber = nil)
69     @streetNum = streetNum
70     @streetName = streetName
71     @city = city
72     @state = state
73     @zip = zip
74     @phoneNumber = phoneNumber
75   end
76 end
77
78 class PhoneNumber
79   @@typeName = 'phone'
80   @@typeNamespace = 'urn:ibm-soap-address-demo'
81
82   attr_accessor :areaCode, :exchange, :number
83   def initialize(areaCode = nil, exchange = nil, number = nil)
84     @exchange = exchange
85     @areaCode = areaCode
86     @number = number
87   end
88 end
89
90 server = ARGV.shift or raise ArgumentError.new('Target URL was not given.')
91 proxy = ARGV.shift || nil
92 app = SampleClient.new(server, proxy).start
Note: See TracBrowser for help on using the browser.