soap4r 1.4.8.1 with REXML 2.7.1 - no REXML::VERSION_MAJOR

D

Damphyr

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.
 
I

Ian Macdonald

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

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 |
(e-mail address 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--
 
D

Damphyr

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">
<soap:eek:peration 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--
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,743
Messages
2,569,478
Members
44,898
Latest member
BlairH7607

Latest Threads

Top