Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > soap4r 1.4.8.1 with REXML 2.7.1 - no REXML::VERSION_MAJOR

Reply
Thread Tools

soap4r 1.4.8.1 with REXML 2.7.1 - no REXML::VERSION_MAJOR

 
 
Damphyr
Guest
Posts: n/a
 
      07-16-2003
I grabbed the latest soap4r and had a go with the wsdl driver, only to
come to an abrupt stop with the following

site_ruby/1.6/wsdl/rexmlparser.rb:40:in `doParse': uninitialized
constant VERSION_MAJOR at REXML (NameError)
from f:/devlab/ruby/lib/ruby/site_ruby/1.6/wsdl/parser.rb:85:in `parse'
from f:/devlab/ruby/lib/ruby/site_ruby/1.6/soap/wsdlDriver.rb:81:in `parse'
from f:/devlab/ruby/lib/ruby/site_ruby/1.6/soap/wsdlDriver.rb:39:in
`initialize'
from wsdltest.rb:5:in `new'
from wsdltest.rb:5


I?m running 1.6.8 on W2K at the moment and I looked for a VERSION_MAJOR
in REXML but the beast does not want to show itself.
Any ideas ?
V.-


__________________________________________________ __________________
http://www.freemail.gr - δωρεάν υπηρεσία ηλεκτρονικού ταχυδρομείου.
http://www.freemail.gr - free email service for the Greek-speaking.

 
Reply With Quote
 
 
 
 
Ian Macdonald
Guest
Posts: n/a
 
      07-16-2003

--vtzGhvizbBRQ85DL
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Wed 16 Jul 2003 at 17:29:40 +0900, Damphyr wrote:

> I grabbed the latest soap4r and had a go with the wsdl driver, only to
> come to an abrupt stop with the following
>
> site_ruby/1.6/wsdl/rexmlparser.rb:40:in `doParse': uninitialized
> constant VERSION_MAJOR at REXML (NameError)
> from f:/devlab/ruby/lib/ruby/site_ruby/1.6/wsdl/parser.rb:85:in
> `parse'
> from f:/devlab/ruby/lib/ruby/site_ruby/1.6/soap/wsdlDriver.rb:81:in
> `parse'
> from f:/devlab/ruby/lib/ruby/site_ruby/1.6/soap/wsdlDriver.rb:39:in
> `initialize'
> from wsdltest.rb:5:in `new'
> from wsdltest.rb:5
>
>
> I?m running 1.6.8 on W2K at the moment and I looked for a VERSION_MAJOR
> in REXML but the beast does not want to show itself.
> Any ideas ?


I had similar problems.

Try the attached diff.

Ian
--
Ian Macdonald | Radial Telemetry Infiltration
System Administrator |
http://www.velocityreviews.com/forums/(E-Mail Removed) |
http://www.caliban.org |
|

--vtzGhvizbBRQ85DL
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="ruby-SOAP4R-1.4.8.1-REXML.diff"

diff -uNr soap4r-1_4_8_1.orig/lib/soap/rexmlparser.rb soap4r-1_4_8_1/lib/soap/rexmlparser.rb
--- soap4r-1_4_8_1.orig/lib/soap/rexmlparser.rb 2003-01-16 05:01:00.000000000 -0800
+++ soap4r-1_4_8_1/lib/soap/rexmlparser.rb 2003-05-08 16:10:59.000000000 -0700
@@ -36,8 +36,10 @@

def doParse( stringOrReadable )
source = nil
- if REXML::VERSION_MAJOR < 2 or
- ( REXML::VERSION_MAJOR == 2 and REXML::VERSION_MINOR <= 4 )
+ version_major, version_minor =
+ REXML::Version.match(/(\d+)\.(\d+)/)[1,2].map! {|x| x.to_i}
+ if version_major < 2 or
+ ( version_major == 2 and version_minor <= 4 )
source = if charset
::SOAP::Charset.codeConv( stringOrReadable, ::SOAP::Charset.getCharsetStr( charset ), 'UTF8' )
else
diff -uNr soap4r-1_4_8_1.orig/lib/wsdl/rexmlparser.rb soap4r-1_4_8_1/lib/wsdl/rexmlparser.rb
--- soap4r-1_4_8_1.orig/lib/wsdl/rexmlparser.rb 2003-01-16 05:04:54.000000000 -0800
+++ soap4r-1_4_8_1/lib/wsdl/rexmlparser.rb 2003-05-08 16:10:49.000000000 -0700
@@ -36,8 +36,10 @@

def doParse( stringOrReadable )
source = nil
- if REXML::VERSION_MAJOR < 2 or
- ( REXML::VERSION_MAJOR == 2 and REXML::VERSION_MINOR <= 4 )
+ version_major, version_minor =
+ REXML::Version.match(/(\d+)\.(\d+)/)[1,2].map! {|x| x.to_i}
+ if version_major < 2 or
+ ( version_major == 2 and version_minor <= 4 )
source = if charset
::SOAP::Charset.codeConv( stringOrReadable, ::SOAP::Charset.getCharsetStr( charset ), 'UTF8' )
else

--vtzGhvizbBRQ85DL--

 
Reply With Quote
 
 
 
 
Damphyr
Guest
Posts: n/a
 
      07-16-2003
This is a multi-part message in MIME format.
--------------000102010909000209030503
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

OK, the patch for the version needs to be changed a bit:

- version_major, version_minor =
- REXML::Version.match(/(\d+)\.(\d+)/)[1,2].map! {|x| x.to_i}

+ version_major, version_minor =
+ /(\d+)\.(\d+)/.match(REXML::Version)[1,2].map! {|x| x.to_i}

After that comes the following:

"attr {}style"
f:/devlab/ruby/lib/ruby/site_ruby/1.6/wsdl/soap/operation.rb:46:in
`parseAttr': Unknown attr {}style. (WSDL::WSDLParser::UnknownAttributeError)
from f:/devlab/ruby/lib/ruby/site_ruby/1.6/wsdl/parser.rb:188:in
`decodeTag'
from f:/devlab/ruby/lib/ruby/site_ruby/1.6/wsdl/parser.rb:170:in `each'
from f:/devlab/ruby/lib/ruby/site_ruby/1.6/wsdl/parser.rb:170:in
`decodeTag'
from f:/devlab/ruby/lib/ruby/site_ruby/1.6/wsdl/parser.rb:111:in
`startElement'
from f:/devlab/ruby/lib/ruby/site_ruby/1.6/wsdl/rexmlparser.rb:62:in
`tag_start'
from
f:/devlab/ruby/lib/ruby/site_ruby/1.6/rexml/parsers/streamparser.rb:17:in
`parse'
from f:/devlab/ruby/lib/ruby/site_ruby/1.6/rexml/document.rb:166:in
`parse_stream'
from f:/devlab/ruby/lib/ruby/site_ruby/1.6/wsdl/rexmlparser.rb:55:in
`doParse'
from f:/devlab/ruby/lib/ruby/site_ruby/1.6/wsdl/parser.rb:85:in `parse'
from f:/devlab/ruby/lib/ruby/site_ruby/1.6/soap/wsdlDriver.rb:81:in `parse'
from f:/devlab/ruby/lib/ruby/site_ruby/1.6/soap/wsdlDriver.rb:39:in
`initialize'
from wsdltest.rb:5:in `new'
from wsdltest.rb:5

which probably means that not everything is supported by soap4r.
I've been playing around with the .NET Web Sedrvice stuff, and the wsdl
file I`m trying to parse is attached.
I'll dig in further, but it's going to take me a while

V.-


__________________________________________________ __________________
http://www.freemail.gr - δωρεάν υπηρεσία ηλεκτρονικού ταχυδρομείου.
http://www.freemail.gr - free email service for the Greek-speaking.
--------------000102010909000209030503
Content-Type: text/xml;
name="KickerService.wsdl"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="KickerService.wsdl"

<?xml version="1.0" encoding="UTF-8"?>

<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://tempuri.org/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://tempuri.org/" xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
<s:element name="GetTeams">
<s:complexType/>
</s:element>
<s:element name="GetTeamsResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GetTeamsResult" type="s0:ArrayOfTeam"/>
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="ArrayOfTeam">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="Team" nillable="true" type="s0:Team"/>
</s:sequence>
</s:complexType>
<s:complexType name="Team">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="OffensivePlayer" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="DefensivePlayer" type="s:string"/>
</s:sequence>
</s:complexType>
</s:schema>
</types>
<message name="GetTeamsSoapIn">
<part name="parameters" element="s0:GetTeams"/>
</message>
<message name="GetTeamsSoapOut">
<part name="parameters" element="s0:GetTeamsResponse"/>
</message>
<portType name="Service1Soap">
<operation name="GetTeams">
<input message="s0:GetTeamsSoapIn"/>
<output message="s0:GetTeamsSoapOut"/>
</operation>
</portType>
<binding name="Service1Soap" type="s0:Service1Soap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<operation name="GetTeams">
<soapperation soapAction="http://tempuri.org/GetTeams" style="document"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="Service1">
<port name="Service1Soap" binding="s0:Service1Soap">
<soap:address location="http://dfnnb019/Camp/KickerServiceDemo/Service1.asmx"/>
</port>
</service>
</definitions>
--------------000102010909000209030503--


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
REXML::Element.write is deprecated. See REXML::Formatters Phlip Ruby 0 01-15-2008 08:23 PM
[ANN] soap4r/1.5.0 with wsdl4r/0.0.3 NAKAMURA, Hiroshi Ruby 2 05-22-2005 09:57 AM
rexml error - REXML::Validation Daniel Berger Ruby 2 10-12-2004 04:19 PM
SOAP4R throws exception on copyright character Brian Marick Ruby 1 11-09-2003 12:49 AM
WSDL parse failure (ruby 1.8.1-preview2, soap4r-1_5_1) Brian Marick Ruby 1 11-07-2003 01:42 AM



Advertisments