Hi, all,
SOAP4R/1.4.7 with WSDL4R/0.0.1 is out.
http://www.ruby-lang.org/en/raa-list.rhtml?name=SOAP4R
From Release note.
This version has these enhancements and bug fixes;
- Includes WSDL4R initial release.
- Bare in mind this is an alpha level code. I wrote it
halfway at half and a year ago, and wrote the rest part
in half and a day. No comprehensive test, no strict
syntax check, unfriendly error message, etc. Try it if
you want, and find bugs in it.
- WSDL4R can run under XMLParser for now. You might be
able to let it run under NQXML/REXML if you know SAX
programming well. How XML processor is used under WSDL4R
is as same as under SOAP4R.
- Added xsd:short support.
- ::Float(double precision float in Ruby) is mapped to
xsd:double now. It was mapped to xsd:float.
- Fixed a bug of year < 0 handling. B.C. 1 => -0001 in
XMLSchema.
- Fixed a bug of exception serialization. Custam
mappingRegistry was not used.
- Fixed a bug of regex for MediaType parsing.
CAUTION: This version requires [RAA:date2] version 3.2 or
later and [RAA:http-access2] version G. http-access2/G is
released in this week. Please make sure the versions you use.
I wrote a little “how to” thing for WSDL4R at
http://www.jin.gr.jp/~nahi/Ruby/SOAP4R/wiki.cgi?cmd=view;name=How+to+use
+WSDL4R
Regards,
// NaHi
Hi all,
SOAP4R/1.4.8 with WSDL4R/0.0.2 is out.
http://www.ruby-lang.org/en/raa-list.rhtml?name=soap4r
From Release note.
This version has these enhancements and bug fixes;
-
Avoid warnings;
- Use Object#class instead of Object#type.
- Avoid implicit use a String as a regexp source.
-
Add wsdlDriver which reads WSDL file and allow client to
call procedures. Here is an example to search Google.
require 'soap/wsdlDriver’
searchWord = ARGV.shift
key = File.open(File.expand_path("~/.google_key")).read.chomp
GOOGLE_WSDL = ‘http://api.google.com/GoogleSearch.wsdl’
Load WSDL and create driver.
google = SOAP::WSDLDriverFactory.new(GOOGLE_WSDL).createDriver
Just invoke!
result = google.doGoogleSearch(key, searchWord, 0, 10, false, “”, false, “”, ‘utf-8’, ‘utf-8’)
result.resultElements.each do |ele|
puts "== #{ele.title}: #{ele.URL}"
puts ele.snippet
puts
end
-
WSDLDriver client examples of AmazonWebServices, RAA and
RNN (Japanese Ruby blog site) are also included in sample/ dir.
-
Support xmlscan XML processor.
-
Changed XML processor detection scheme. Search xmlscan, REXML,
XMLParser and NQXML in this order.
-
Rewrite charset handling of XML processor.
- If you only use us-ascii and utf-8, all XML processors should
work without uconv module.
- With xmlscan/0.2 or later, you can handle euc-jp or shift_jis
encoded XML instance WITHOUT uconv module.
- With other XML processors includes xmlscan/0.1, you need to
install uconv module to handle euc-jp or shift_jis encoded
XML instance.
-
cgistub.rb: Overridable response mediatype. There exists a
http client which does not accept the mediatype text/xml which
is specified in SOAP spec. For example, an i-Mode (smart phone)
client does not accept it… You can set response mediatype to
’text/plain’ for such client though it violates SOAP spec…
-
wsdl2ruby: Add --force option to override existing file.
-
Fixed many bugs.
Enjoy.
Regards,
// NaHi
Hi all,
Sorry for bothering you again.
I’ve just posted SOAP4R/1.4.8.1 on RAA. It’s a small bug
fix version about WSDL.
There is wrong operation name handling of some type of WSDL.
This fix does not affects GoogleAPI’s WSDL, and
Ruby/Google 0.5.0 as well.
http://www.ruby-lang.org/en/raa-list.rhtml?name=soap4r
Regards,
// NaHi
Hi, all,
soap4r/1.5.0 is out.
RAA: http://www.ruby-lang.org/en/raa-list.rhtml?name=soap4r
Release Note: http://rrr.jin.gr.jp/doc/soap4r/RELEASE_en.html
What is SOAP4R?
http://rrr.jin.gr.jp/doc/soap4r/RELEASE_en.html#whats
Changes
Thousands of lines are changed in this release (*.rb in current
SOAP4R distribution has 30kloc or over). But the biggest change
is coding convention, camelCase to non_camel_case. Though I tried
to keep compatibility between 1.5.0 and 1.4.8, but there’s no way
to keep it at a few point. If you’ll find your code which was
developed for 1.4.8 does not run under 1.5.0, feel free to ask me
to solve the problem.
-
Dependency libraries;
- Add net/http support. Users can try sample SOAP clients without
installing http-access2. For actual usage, consider installing
http-access2 for speed and thread-safe SOAP client.
CAUTION: Building SOAP CGI server needs http-access2 to be installed.
- Soap4r standalone server requires webrick module to be installed
instead of GServer.rb and httpserver.rb.
- Supports iconv. To use utf-8, you need to install iconv(included
in ruby/1.8) or uconv.
- Suspend NQXML XML parser support.
- Remove REXML processor version check. No longer needed.
- Rewrite tests with test/unit.
-
Features;
- Efforts to support messaging with document/literal and ASP.NET
interoperability.
- Add document/literal messaging interface to wsdlDriver.rb. See a
very brief example in sample/soapbox/wsdlDriver.rb though I still
didn’t try to login to Jabber server… Jabber folks?
- XML pretty printing.
- Better Ruby object mapping. Rewrote RubytypeFactory to support
more Ruby objects. Tests in
AMarshal(http://cvs.m17n.org/~akr/amarshal/) much helped it.
Thanks very much to Tanaka Akira-san.
- SOAPMarshal accepts IO as an output device like Marshal#dump.
- SOAPElement: constructor signature change. Added extraattrs
attribute.
- XSDDateTimeImpl: to_time did not set usec.
- StreamHandler: add reset method to shutdown a connection to a site.
-
Others;
- Simplify installer and remove uninstaller. Saving inventory file
in src dir could be the problem.
- Class/Module architecture relocation.
- Changing coding convention to fit with Ruby’s. Added
lib/soap/compat.rb which defines compatibility definitions for
1.4.8. lib/soap/compat.rb warns when the library is loaded.
- Many warnings raised under 1.8, caused by illegal references like
XSD::XSDInt in typeMap.rb. Soap4r defined toplevel::XSDInt.
Define XSD* classes in XSD module and introduce it to toplevel.
Thanks to all of soap4r users for their support.
Regards,
// NaHi
Hi, all,
Soap4r/1.5.1 is out.
RAA: http://www.ruby-lang.org/en/raa-list.rhtml?name=soap4r
Release Note: http://rrr.jin.gr.jp/doc/soap4r/RELEASE_en.html
What is SOAP4R?
http://rrr.jin.gr.jp/doc/soap4r/RELEASE_en.html#whats
I read ruby-talk ML so I might missed some articles posted to
comp.lang.ruby… Send me directly if you have some trouble
with soap4r.
Changes
Important news: Soap4r library is included in ruby distribution after
ruby/1.8.1. You might not be need to install this package under
ruby/1.8. The files this package includes and are not included in
ruby/1.8 distribution are an application program (bin/wsdl2ruby) and
some test codes. Consider to get this package if,
- You need the WSDL to ruby (reads a WSDL file and generates stubs
and Ruby class definitions) application, or
- You want to use soap4r under ruby/1.6.
Features;
-
Sample updates; Update Amazon Web Service WSDL (v2 -> v3), and update
RAA WSDL(0.0.1 -> 0.0.2).
-
Supports ivars of basetype and extending modules marshalling with XML
attribute. Using XML attribute to support ruby object dependent
information, marshalled object keeps compatibility with SOAP spec.
It shows the power of XML, extensibility.
Now I think SOAP marshaller supports all kind of object graph which
is supported by Ruby’s original marshaller.
-
Better XML pretty printing.
puts SOAPMarshal.dump(Person.new(“NaHi”, 33))
=>
<?xml version="1.0" encoding="utf-8" ?>
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”>
env:Body
33
NaHi
</env:Body>
</env:Envelope>
Installation;
- The previous version soap4r/1.5.0 required http-access2 to be
installed to build CGI server, but no longer needed fot this
purpose now. You can use almost all features of soap4r without
http-access2, but for actual usage, consider installing
http-access2 for speed and thread-safe SOAP client.
- Under ruby/1.8, installer installs lib files to rubylibdir
(e.g. /usr/local/lib/ruby/1.8) instead of sitelibdir
(e.g. /usr/local/lib/ruby/site_ruby/1.8)
Bug fixes;
- Do not introduce XSD constants to toplevel.
- ‘NO_PROXY’/‘no_proxy’ env var was not supported under net/http. Fixed.
- Remove some ruby/1.8 dependent codes. Should work fine under 1.6, too.
- XSD::XSDString did not check its value space under $KCODE = 'NONE’
env for example where iconv module is not installed.
- XSD::XSDFloat, XSD::XSDDouble: add +/- sign explicitly when
stringified and embedded into XML instance. Ruby’s sprintf may
format -0.0 as “0.0” (no minus sign) depending on underlying C
sprintf implementation.
Thanks to all of soap4r users for their support.
Regards,
// NaHi
Hi, all,
RAA: http://raa.ruby-lang.org/list.rhtml?name=soap4r
Release Note: http://rrr.jin.gr.jp/doc/soap4r/RELEASE_en.html
‘SOAP4R’ is an implementation of
Simple Object Access Protocol (SOAP) 1.1 (W3C Note).
http://www.w3.org/TR/SOAP/
Important news: Soap4r library is included in ruby distribution
after ruby/1.8.1. You might not be need to install this package
under ruby/1.8. The files this package includes and are not included
in ruby/1.8 distribution are; some experimental code, application
program (bin/wsdl2ruby) and some test codes. Consider to get this
package if,
- You want to use soap4r under ruby/1.6
- You need to do SOAP Messages with Attachments (SwA)
- You need the WSDL to ruby (reads a WSDL file and generates stubs
and Ruby class definitions) application
Changes from 1.5.1.
-
License
- Changed license from GPL2 to Ruby’s.
-
Features
-
Add SOAP Messages with Attachments (SwA) support.
Patched by Jamie Herre.
“SOAP Messages with Attachments” is the W3C Note which defines a
binding for a SOAP 1.1 message to be carried within a MIME
multipart/related message. http://www.w3.org/TR/SOAP-attachments
This feature is still experimental. Interop testing is going on.
-
HTTPS support even when you use net/http (not http-access2).
Patched by Oliver M. Bolzer.
-
Property file support. SOAP and WSDL client reads “soap/property"
file located at somewhere in $: (ruby libray locations). For
example, save these lines to
”$rubylibdir/site_ruby/1.8/soap/property".
client.protocol.http.proxy = http://myproxy:8080
client.protocol.http.no_proxy = 192.168.71.71,192.168.71.72
Then all HTTP connections should use these proxy and no_proxy
definition.
-
Do not trust “HTTP_PROXY” environment variable by default to
avoid security problem. cf.
http://ftp.ics.uci.edu/pub/websoft/libwww-perl/archive/2001h1/0072.html
http://ftp.ics.uci.edu/pub/websoft/libwww-perl/archive/2001h1/0241.html
http://curl.haxx.se/mail/archive-2001-12/0034.html
To use HTTP_PROXY and NO_PROXY environment variable, you must set
SOAP_USE_PROXY environment variable ‘on’, too.
bash$ soap_use_proxy=on http_proxy=http://myproxy:8080 ruby …
csh$ env soap_use_proxy=on http_proxy=http://myproxy:8080 ruby …
-
Add SOAP::RPC::Driver#mandatorycharset= and
SOAP::WSDLDriver#mandatorycharset= interface to force using
charset when parsing response from buggy server such as AWS.
-
Support a halfway-typed multi-ref array that Axis dumps.
-
Added a interface XSD::Charset.encoding= to control internal
encoding scheme. Internal encoding scheme was fixed to 'utf-8’
when iconv or uconv was installed. You can set ‘euc-jp’, etc.
to avoid encoding scheme conversion if you know what encoding
scheme the server uses.
-
Bug fixes
-
SOAP::Marshal.unmarshal: raise an exception if parse fails.
(returned nil)
-
SOAP::WSDLDriver: decode unknown element according to self-defined
type even if WSDL was given.
-
SOAP::Mapping::Factory#create_empty_object: fix Class#allocate
emulation code for ruby/1.6. no effective change under ruby/1.8.
-
SOAP::RPC::SOAPMethodResponse: element name of response message
could have the name other than ‘return’.
-
SOAP::RPC::StandaloneServer: add methods ‘shutdown’ and 'status’
as delegates to WEBrick.
-
WSDL::SOAP::ClassDefCreator: WSDL/1.1 allows plural fault
definition in a operation.
-
XSD::Charset.init: use cp932 under emx.
Patched by Siena. / SHINAGAWA, Norihide.
Thanks to all of soap4r users for their support.
Regards,
// NaHi
Hi, all,
'SOAP4R' is an implementation of
Simple Object Access Protocol (SOAP) 1.1 (W3C Note).
http://www.w3.org/TR/SOAP/
RAA: http://raa.ruby-lang.org/list.rhtml?name=soap4r
Release Note: http://dev.ctor.org/doc/soap4r/RELEASE_en.html
After 1 and a half year developing from soap4r/1.5.2, soap4r/1.5.4 is
out. Version 1.5.3 is the module which is included in ruby-1.8.2, and
not released independently.
Most significant feature of 1.5.4 is WSDL support. Document/literal
service support for .NET interoperability. Improved XML Schema support
such as extension, restriction, simpleType, complexType + simpleContent,
ref, length, import, include. And many bugs were fixed.
* Changes in 1.5.4 from 1.5.3:
http://dev.ctor.org/soap4r/wiki/Changes-154
* Changes in 1.5.3 from 1.5.2:
http://dev.ctor.org/soap4r/wiki/Changes-ruby181_ruby182
Regards,
// NaHi