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

root/tags/RELEASE_1_4_4/sample/apacheClient.rb

Revision 106, 2.6 kB (checked in by nakahiro, 8 years ago)

Changed 1999 support method.

  • 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/driver'
4
5 require 'soap/XMLSchemaDatatypes1999'
6
7
8 class SampleClient < Application
9
10   private
11
12   AppName = 'SampleClient'
13
14   NS1 = 'urn:i3solutions-delayed-quotes'
15   NS2 = 'urn:AddressFetcher'
16
17   def initialize( server, proxy )
18     super( AppName )
19     @server = server
20     @proxy = proxy
21     @logId = Time.now.gmtime.strftime( "%Y-%m-%dT%X+0000" )
22 #    setLog( AppName.dup << '.log', 'weekly', nil )
23     @drv1 = nil
24     @drv2 = nil
25   end
26
27   def run()
28     #@log.sevThreshold = SEV_DEBUG
29     #@log.sevThreshold = SEV_INFO
30     @log.sevThreshold = SEV_WARN
31
32     # Driver initialize and method definition
33
34     @drv1 = SOAP::Driver.new( @log, @logId, NS1, @server, @proxy )
35     @drv1.addMethod( 'getQuote', 'symbol' )
36
37     @drv2 = SOAP::Driver.new( @log, @logId, NS2, @server, @proxy )
38     @drv2.addMethod( 'getAddressFromName', 'nameToLookup' )
39     @drv2.addMethod( 'addEntry', 'nameToRegister', 'address' )
40
41     # Method invocation
42
43     puts @drv1.getQuote( "IBM" )
44
45     address = @drv2.getAddressFromName( "John B. Good" )
46     dumpAddress( address )
47
48     phoneNumber = PhoneNumber.new( 987, '654', '3210' )
49     address = Address.new( 123, 'STREET', 'CITY', 'NY', 99999, phoneNumber )
50     result = @drv2.addEntry( 'NaHi', address )
51     puts 'NaHi has been added.'
52
53     address = @drv2.getAddressFromName( "NaHi" )
54     dumpAddress( address )
55
56     return 0
57   end
58
59   def dumpAddress( addr )
60     phone = addr.phoneNumber
61     puts <<EOS
62 #{ addr.streetNum } #{ addr.streetName }
63 #{ addr.city }, #{ addr.state } #{ addr.zip }
64 (#{ phone.areaCode }) #{ phone.exchange }-#{ phone.number }
65 EOS
66   end
67
68   ###
69   ## Other utility methods
70   #
71   def log( sev, message )
72     @log.add( sev, "<#{ @logId }> #{ message }", @appName ) if @log
73   end
74 end
75
76
77 class Address
78   @@typeName = 'address'
79   @@typeNamespace = 'urn:ibm-soap-address-demo'
80
81   attr_accessor :streetNum, :streetName, :city, :state, :zip, :phoneNumber
82   def initialize( streetNum = nil, streetName = nil, city = nil, state = nil, zip = nil, phoneNumber = nil )
83     @streetNum = streetNum
84     @streetName = streetName
85     @city = city
86     @state = state
87     @zip = zip
88     @phoneNumber = phoneNumber
89   end
90 end
91
92 class PhoneNumber
93   @@typeName = 'phone'
94   @@typeNamespace = 'urn:ibm-soap-address-demo'
95
96   attr_accessor :areaCode, :exchange, :number
97   def initialize( areaCode = nil, exchange = nil, number = nil )
98     @exchange = exchange
99     @areaCode = areaCode
100     @number = number
101   end
102 end
103
104 server = ARGV.shift or raise ArgumentError.new( 'Target URL was not given.' )
105 proxy = ARGV.shift || nil
106 app = SampleClient.new( server, proxy ).start()
Note: See TracBrowser for help on using the browser.