File: client.rb

package info (click to toggle)
ruby-soap4r 2.0.5-9
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,032 kB
  • sloc: ruby: 52,729; xml: 266; sh: 42; javascript: 20; makefile: 13; perl: 10
file content (22 lines) | stat: -rw-r--r-- 590 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
require 'soap/rpc/driver'

Namespace = 'urn:echo'
drv = SOAP::RPC::Driver.new('http://localhost:7171/', Namespace)
drv.add_document_method('echo', 'echo_soapaction',
  XSD::QName.new(Namespace, 'echoRequest'),
  XSD::QName.new(Namespace, 'echoResponse'))

drv.return_response_as_xml = true
drv.wiredump_dev = STDOUT

require 'rexml/document'
request = REXML::Document.new(<<__XML__)
<echoRequest xmlns="urn:echo">
  <foo bar="baz">
    <qux>quxx</qux>
  </foo>
</echoRequest>
__XML__

response = drv.echo(request)
p REXML::XPath.match(REXML::Document.new(response), "//*[name()='n1:foo']")