|
Revision 1845, 0.6 kB
(checked in by nahi, 2 years ago)
|
- added howto/as_xml sample
|
| Line | |
|---|
| 1 |
require 'soap/rpc/driver' |
|---|
| 2 |
|
|---|
| 3 |
Namespace = 'urn:echo' |
|---|
| 4 |
drv = SOAP::RPC::Driver.new('http://localhost:7171/', Namespace) |
|---|
| 5 |
drv.add_document_method('echo', 'echo_soapaction', |
|---|
| 6 |
XSD::QName.new(Namespace, 'echoRequest'), |
|---|
| 7 |
XSD::QName.new(Namespace, 'echoResponse')) |
|---|
| 8 |
|
|---|
| 9 |
drv.return_response_as_xml = true |
|---|
| 10 |
drv.wiredump_dev = STDOUT |
|---|
| 11 |
|
|---|
| 12 |
require 'rexml/document' |
|---|
| 13 |
request = REXML::Document.new(<<__XML__) |
|---|
| 14 |
<echoRequest xmlns="urn:echo"> |
|---|
| 15 |
<foo bar="baz"> |
|---|
| 16 |
<qux>quxx</qux> |
|---|
| 17 |
</foo> |
|---|
| 18 |
</echoRequest> |
|---|
| 19 |
__XML__ |
|---|
| 20 |
|
|---|
| 21 |
response = drv.echo(request) |
|---|
| 22 |
p REXML::XPath.match(REXML::Document.new(response), "//*[name()='n1:foo']") |
|---|