rubiii/savon — Issue #244: I have two questions.
Author: tkosaka1976
Created: 2011-12-01 10:55:54+00:00
State: open

I have two questions about using savon library for accessing to soap server.
This is my code, now trying.

```ruby
require "savon"

data = ['eco:b0077', 'eco:b0078']

client = Savon::Client.new do
wsdl.document = "http://soap.genome.jp/KEGG.wsdl"
end

#p client.wsdl.soap_actions

response = client.request :wsdl, "get_pathways_by_enzymes" do
soap.body = { :genes_id_list => data }
end

p response.to_hash
```

One is how to know the soap_action key?
I searched the document of savon, but I could not find-out descriptions.

For example, in this code:
soap.body = { :genes_id_list => data }
How can I get the ":genes_id_list" ?
Or is there any way to no need to find out this key?
I know the developer of soap server can provide it.
Also I obtained this key form them.
But I would like to know more easy way by using some code.

Second question is convert Hash to XML.
I'm not so used to use soap api, but today I noticed that savon (I think gyoku do) make XML file have some problems on listed data like as:

soap.body = {
:genes_id_list => ['eco:b0077', 'eco:b0078']
}

This convert to xml as
```xml
eco:b0077eco:b0078

```

However, this xml does not maintain the array structure.
I'm trying to access query as listed strings.
This can be accessed by using soap4r library.

This XML is soap4r log:
```xml
\n\n \n \n \n
eco:b0077
\n
eco:b0078
\n \n \n \n
```
This XML is Savon log
```xml
eco:b0077eco:b0078
```

How can I fill the gap of difference between two XML?
Is there any good way or builder of XML you know?
I would like to solve this problem, because soap4r is not working on 1.9.
In addition, I favor savon, which is sophisticated library!
Anyway, if someone answer my questions, it will help me.

tkosaka