I will be creating very good documents for all of you to use later on.
Right
now I need to get this project done so I can get paid.
My original question was how could I get in the body of SOAP this..
<Getcustomer ..xml stuff>
<name ..xml stuff>High paying cusomters</name>
....122 entries..
<Getcustomer>
The answer to the problem was to implement a special array
myfile.rb --------------------------------------
require 'soap/marshal'
#licensed public domain
class GetCustomer; include SOAP::Marshallable
# must include to marshalize data
# multiple lines for readability
attr_accessor :name
attr_accessor :phoneNo
attr_accessor :otherEntry # wont show because I didn't set it
def initialize(setName,setPhoneNo)
@name, @phoneNo = setName, setPhoneNo
# must set instance variables or soap entries do not show
# the order of assignment matters.
# if @name, @phoneNo = setName, setPhoneNo then
···
#
# <phoneNo xsi:type="xsd:string">965-7516</phoneNo>
# <name xsi:type="xsd:string">Edward Sirg</name>
#
# if @phoneNo, @name = setPhoneNo, setName
#
# <name xsi:type="xsd:string">Edward Sirg</name>
# <phoneNo xsi:type="xsd:string">965-7516</phoneNo>
end
end
customer = [
GetCustomer.new("John Doe","555-555-555"),
GetCustomer.new("Edward Sirg","965-7516")
]
if $0 == __FILE__
customer.each do |cPerson|
print SOAP::Marshal.marshal(cPerson)
end
end
--------------------------------------------
Output:
<?xml version="1.0" encoding="utf-8" ?>
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:env="Error;
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<GetCustomer xmlns:n1="http://www.ruby-lang.org/xmlns/ruby/type/custom"
xsi:type="n1:GetCustomer"
env:encodingStyle="Error;
<name xsi:type="xsd:string">John Doe</name>
<phoneNo xsi:type="xsd:string">555-555-555</phoneNo>
</GetCustomer>
</env:Body>
</env:Envelope><?xml version="1.0" encoding="utf-8" ?>
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:env="Error;
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<GetCustomer xmlns:n1="http://www.ruby-lang.org/xmlns/ruby/type/custom"
xsi:type="n1:GetCustomer"
env:encodingStyle="Error;
<name xsi:type="xsd:string">Edward Sirg</name>
<phoneNo xsi:type="xsd:string">965-7516</phoneNo>
</GetCustomer>
</env:Body>
Of course this can be inserted into a SOAP service with ease. Well im out
to
finish my project. Talk later --David Ross
Original Message:
-----------------
From: Eric Schwartz emschwar@pobox.com
Date: Fri, 2 Jul 2004 02:57:49 +0900
To: ruby-talk@ruby-lang.org (ruby-talk ML)
Subject: Re: SOAP4R API question
"dross@code-exec.net" <dross@code-exec.net> writes:
nm, problem solved
Er, how did you solve your problem? For the rest of us who are just
reading about this, can you be more specific?
-=Eric
--
Come to think of it, there are already a million monkeys on a million
typewriters, and Usenet is NOTHING like Shakespeare.
-- Blair Houghton.
--------------------------------------------------------------------
mail2web - Check your email from the web at
http://mail2web.com/ .