After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 167875 - WSDL compilation problem with mono 1.0.5 on debian unstable
WSDL compilation problem with mono 1.0.5 on debian unstable
Status: RESOLVED NOTGNOME
Product: beagle
Classification: Other
Component: General
unspecified
Other other
: Normal normal
: ---
Assigned To: Beagle Bugs
Beagle Bugs
Depends on:
Blocks:
 
 
Reported: 2005-02-19 13:12 UTC by Matteo Acerbi
Modified: 2005-03-14 10:02 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
google wsdl file (7.32 KB, text/xml)
2005-02-25 19:01 UTC, Joe Shaw
Details
the 'missing' file (6.25 KB, text/x-csharp)
2005-02-26 17:04 UTC, Mario Manno
Details

Description Matteo Acerbi 2005-02-19 13:12:30 UTC
Distribution: Debian 3.1
Package: beagle
Severity: normal
Version: GNOME2.8.1 unspecified
Gnome-Distributor: Debian
Synopsis: WSDL compilation problem with mono 1.0.5 on debian unstable
Bugzilla-Product: beagle
Bugzilla-Component: General
Bugzilla-Version: unspecified
Description:
Description of Problem:

GoogleSearch.wsdl doesn't compile.

wsdl complains:
Error: <operation xmlns='http://schemas.xmlsoap.org/wsdl/soap/'> was not
expected when trying to execute:
wsdl -namespace:Beagle.Util -out:GoogleSearch.cs GoogleSearch.wsdl

which is quite right for me: i know nothing about wsdl but i know some
about xml schema, and that tag is not expected to be there - for what i
can understand by reading the wsdl schema definition.

using debian unstable of Feb 18-19 2005 (always updated)

./configure goes well:

i installed dbus and gmime-sharp from source, while leaving all the
other stuff from debian unstable updated mono packages, versions
1.0.5-2,3 (mono-mcs is 1.0.5-3)

Steps to reproduce the problem:
1. install debian sid :-)

2. install lots of mono packages (i had already got them for other
reasons):

matteo@jimi:/usr/local/src$ dpkg -l|grep mono
ii  libmono-dev    1.0.5-2        libraries for the Mono interpreter -
Develop
ii  libmono0       1.0.5-2        libraries for the Mono interpreter
ii  mono-apache-se 1.0-3          The mod-mono server
ii  mono-assemblie 1.0.5-3        architecture specific files for Mono's
class
ii  mono-assemblie 1.0.5-3        Mono class library
ii  mono-common    1.0.5-2        common files for the Mono CLI
runtimes
ii  mono-gac       1.0.5-3        Mono GAC tool
ii  mono-jay       1.0.5-3        LALR(1) parser generator oriented to
Java/.N
ii  mono-jit       1.0.5-2        fast CLI/.NET JIT compiler for Mono
ii  mono-mcs       1.0.5-3        Mono C# compiler
ii  mono-utils     1.0.5-2        Mono utilities
ii  mono-xsp       1.0-3          simple web server to run ASP.NET
application
ii  monodevelop    0.5.1-2        C#/Java/Nermele/ILasm Development
Environmen
ii  monodoc        1.0.4-1        The Mono documentation viewer
ii  monodoc-base   1.0.4-1        shared MonoDoc binaries
ii  monodoc-browse 1.0.4-1        MonoDoc GTK+ based viewer
ii  monodoc-http   1.0.4-1        MonoDoc http based viewer
ii  monodoc-manual 1.0.4-1        compiled XML documentation from the
Mono pro

3. install gmime and dbus with c# bindings (not provided by normal sid
packages, i made them myself):

matteo@jimi:/usr/local/src/beagle$ apt-show-versions |grep dbus
dbus 0.23.1-1 installed: No available version in archive
matteo@jimi:/usr/local/src/beagle$ apt-show-versions |grep gmime
gmime2.1 2.1.11-1 installed: No available version in archive

4. get beagle from CVS on Fri Feb 18 2005

5. run ./autogen.sh (and ./configure with no particular options) in the
beagle root directory

6. run make

Actual Results:

matteo@jimi:/usr/local/src/beagle$ make
make  all-recursive
make[1]: Entering directory `/usr/local/src/beagle'
Making all in Util
make[2]: Entering directory `/usr/local/src/beagle/Util'
wsdl -namespace:Beagle.Util -out:GoogleSearch.cs GoogleSearch.wsdl
Mono Web Services Description Language Utility
Error: <operation xmlns='http://schemas.xmlsoap.org/wsdl/soap/'> was not
expected
make[2]: *** [GoogleSearch.cs] Error 2
make[2]: Leaving directory `/usr/local/src/beagle/Util'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/beagle'
make: *** [all] Error 2

Expected Results:

working compilation

How often does this happen?

always

Additional Information:

I'd really think it would be better (instead of bugzilla posts like
this...) if there were a beagle-users (or
beagle-peoplewhodreallyliketobeusersbutthesoftwarestilldoesntcompile:-))
@gnome.org mailing list.

Interaction would be much easier (I could just look for other people who
run all this stuff correctly on debian sid, and ask them: how? so that
maybe we could put infos on the wiki...).

We could create a user community and wouldn't make you waste time on
dashboard-hackers (I'm no hacker).

Anyway, thank you all for your work

Matteo




------- Bug moved to this database by unknown@bugzilla.gnome.org 2005-02-19 08:12 -------


Unknown platform unknown. Setting to default platform "Other".
Unknown milestone "unknown" in product "beagle".
   Setting to default milestone for this product, '---'
Setting to default status "UNCONFIRMED".
Setting qa contact to the default for this product.
   This bug either had no qa contact or an invalid one.

Comment 1 Joe Shaw 2005-02-24 23:03:32 UTC
dashboard-hackers is low enough traffic that it's not a problem to just send
questions like this to the list.

I'm using 1.1.3 and the file compiles fine, but you mention:

Error: <operation xmlns='http://schemas.xmlsoap.org/wsdl/soap/'> was not
expected

This line never appears in the wsdl file.  All the <operation> tags have a
"name" attribute, but not xmlns.  There are a couple <soap:operation> tags, but
they have soapAction attributes.
Comment 2 Matteo Acerbi 2005-02-25 10:39:42 UTC
just updated all of the packages to last debian sid, re-downloaded beagle from
cvs and the behaviour is totally the same.

anyway, it isn't that I've got *that* tag there!

wsdl visibly complains after having parsed the xml file and trying to validate
its structure against the schema which applies to the subtree
definitions::binding::operation in the document, which is also the default one
for this document (http://schemas.xmlsoap.org/wsdl/).

so the tag which shouldn't be there (together with subsequent similar ones at
the same level) is <soap:operation soapAction="urn:GoogleSearchAction"/>. this
is what the schema says:

<xs:complexType name="tBinding">
 <xs:complexContent>
  <xs:extension base="wsdl:tExtensibleDocumented">
   <xs:sequence>
    <xs:element name="operation" type="wsdl:tBindingOperation" minOccurs="0" 
maxOccurs="unbounded"/>
   </xs:sequence>
   <xs:attribute name="name" type="xs:NCName" use="required"/>
   <xs:attribute name="type" type="xs:QName" use="required"/>
  </xs:extension>
 </xs:complexContent>
</xs:complexType>

no <operation>s with namespace "soap" (which stands for
http://schemas.xmlsoap.org/wsdl/soap/) or whatever else are expected!

i'll repeat that: i know _nothing_ about wsdl, but this is plain xml schema
stuff, and the structures don't match.

i've tried to comment out these <soap:operation> nodes and i didn't expect the
thing to work, but when doing that it gets to the end of the file (issuing
warnings about other "unsupported operations", i think it doesn't really care
about anything "soap") and creates the .cs counterpart, which obviously doesn't
compile after that.

i haven't found a way to get rid of this validation inside the wsdl executable
from the binary sid package, if you want me to try to download the official mono
sources and retry with (maybe) other compilation options i will be glad to do
this... when i've got some more spare time :-)

i could also contact the mono sid maintainers if the problem turned out to be
theirs, but as long as it seems that you (or maybe google?) are violating the
wsdl schema they can't be the first ones to be contacted :-)

if you want to post this link to dashboard-hackers so that we can get additional
comments (and maybe solutions) i've already subscribed there, though i've never
written a C# line...

thx for your help
bye
matteo
Comment 3 Joe Shaw 2005-02-25 18:57:37 UTC
Ok, thanks for the info!  I was confused by the wsdl output there.  The WSDL
file is the one from google.  I'll see if there is an updated one available. 
The really bizarre thing is that it doesn't seem to fail on 1.1.3 or 1.1.4. 
Maybe the tool is actually downloading the schema for you but not for me?
Comment 4 Joe Shaw 2005-02-25 19:01:39 UTC
Created attachment 37945 [details]
google wsdl file

Try this wsdl file instead of the one included in the beagle cvs
Comment 5 Matteo Acerbi 2005-02-25 19:25:42 UTC
i couldn't understand the diff, then i got it:

matteo@jimi:/usr/local/src/beagle/Util$ flip GoogleSearch.wsdl* -u
matteo@jimi:/usr/local/src/beagle/Util$ diff GoogleSearch.wsdl*
matteo@jimi:/usr/local/src/beagle/Util$

don't think this is the problem:

matteo@jimi:/usr/local/src/beagle/Util$ make
wsdl -namespace:Beagle.Util -out:GoogleSearch.cs GoogleSearch.wsdl
Mono Web Services Description Language Utility
Error: <operation xmlns='http://schemas.xmlsoap.org/wsdl/soap/'> was not expected
make: *** [GoogleSearch.cs] Error 2
matteo@jimi:/usr/local/src/beagle/Util$ flip GoogleSearch.wsdl -m
matteo@jimi:/usr/local/src/beagle/Util$ make
wsdl -namespace:Beagle.Util -out:GoogleSearch.cs GoogleSearch.wsdl
Mono Web Services Description Language Utility
Error: <operation xmlns='http://schemas.xmlsoap.org/wsdl/soap/'> was not expected
make: *** [GoogleSearch.cs] Error 2

i tried downloading the sources from debian sid but there don't seem to be
configure options for avoiding validation in wsdl... well, i'm going to look for
another wsdl binary maybe (when i've got more time)
Comment 6 Mario Manno 2005-02-26 09:13:21 UTC
I was able to build a GoogleSearch.cs with debian mono 1.0.5 and a beagle-0.6.1
tarball. It did not work with beagle from cvs, though it were the same wsdl files.

My guess at the time was that some other file is involved. 
I ran a sniffer, but could not detect any http traffic, i ran strace but could
find no difference between the two runs.

I updated to mono 1.1.4 and now I cannot build the interface, i just copy the
old GoogleSearch.cs to the Util dir after every make clean.
Comment 7 Matteo Acerbi 2005-02-26 13:46:57 UTC
ciao mario! :-)

did you really manage to have the wsdl binary from debian sid repository write
GoogleSearch.cs with *that* GoogleSearch.wsdl (the one in the tarball)?

here it doesn't work:

matteo@jimi:~/tarballs$ wget
http://ftp.gnome.org/pub/GNOME/sources/beagle/0.0/beagle-0.0.6.1.tar.gz
matteo@jimi:~/tarballs$ tar xvzf beagle-0.0.6.1.tar.gz -C /usr/local/src/
matteo@jimi:~/tarballs$ cd /usr/local/src/beagle-0.0.6.1/
matteo@jimi:/usr/local/src/beagle-0.0.6.1$ export
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig && ./configure && make

last lines of configure and the whole make output:

        Prefix:                 /usr/local
        Evolution-Sharp?        no
        gsf-sharp?              no
        gst-sharp?              yes
        Epiphany Extension?     no (missing dependencies)
        Mozilla Extension?      yes
        wv1?                    no

        Enable Network          no

make  all-recursive
make[1]: Entering directory `/usr/local/src/beagle-0.0.6.1'
Making all in Util
make[2]: Entering directory `/usr/local/src/beagle-0.0.6.1/Util'
wsdl -namespace:Beagle.Util -out:GoogleSearch.cs GoogleSearch.wsdl
Mono Web Services Description Language Utility
Error: <operation xmlns='http://schemas.xmlsoap.org/wsdl/soap/'> was not expected
make[2]: *** [GoogleSearch.cs] Error 2
make[2]: Leaving directory `/usr/local/src/beagle-0.0.6.1/Util'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/beagle-0.0.6.1'
make: *** [all] Error 2

so, no differences between tarballs and cvs. i've already dumped my mono
installed packages before, now i have reduced that but there are no changes, anyway:

# apt-show-versions |grep mono
mono-assemblies-base/unstable uptodate 1.0.5-3
mono-jay/unstable uptodate 1.0.5-3
mono-mcs/unstable uptodate 1.0.5-3
monodoc/unstable uptodate 1.0.4-1
monodoc-browser/unstable uptodate 1.0.4-1
monodevelop/unstable uptodate 0.5.1-2
libmono-dev/unstable uptodate 1.0.5-2
monodoc-manual/unstable uptodate 1.0.4-1
monodoc-base/unstable uptodate 1.0.4-1
mono-common/unstable uptodate 1.0.5-2
libmono0/unstable uptodate 1.0.5-2
mono-jit/unstable uptodate 1.0.5-2

maybe it has got something to do with some libraries i have installed and that
can do the validation trick for my wsdl program while others don't have it so
their program falls back on parsing this file without validating it. anyway, i
can't find them (and the whole validation stuff seems to be in the mono-mcs
package, so i can't understand).

a question to everybody reading this thread (assuming you are all debian-sid
users, otherwise why should you be reading this?): which is the most stable mono
release i should adopt in order to try out this piece of software in a usable
fashion?

is it easy to let cohabit debian's mono (and all the packages which depend from
it) and mono's mono without having to do extra work at every debian upgrade?

if there's extra work to be done, i won't do it :-)

i've always lived without beagle, and i can go on like that.

any hints?

thx
bye
matteo

ps: if someone sends me/uploads here his/her own GoogleSearch.cs i could try and
go on with the compilation and maybe that could suggest something for my problem.

pps: mario: after moving to mono 1.1.4 (from source, i guess...) +
GoogleSearch.cs did you notice any other problems with compilation?

ppps: all of this just because google doesn't seem to respect wsdl schema...

ah! the power of echelon! ;-)
Comment 8 Mario Manno 2005-02-26 17:04:45 UTC
Created attachment 37977 [details]
the 'missing' file
Comment 9 Mario Manno 2005-02-26 17:49:42 UTC
I just tried on another computer and it works for me.

	Prefix:			/usr/local
	Evolution-Sharp?	yes
	gsf-sharp?		no
	gst-sharp?		no
	Epiphany Extension?	no (missing dependencies)
	Mozilla Extension?	yes
	wv1?			no

	Enable Network		no

(0) mm@curta:~/src/beagle/beagle-0.0.6.1$ cd Util/
(0) mm@curta:~/src/beagle/beagle-0.0.6.1/Util$ make
wsdl -namespace:Beagle.Util -out:GoogleSearch.cs GoogleSearch.wsdl
Mono Web Services Description Language Utility
Writing file 'GoogleSearch.cs'


I tried the cvs again and now it is working, too.
I have this mono packages installed:
apt-show-versions |grep mono |grep install
mono-assemblies-base	1.0.5-2	install ok installed
mono-mcs	1.0.5-2	install ok installed
mono-assemblies-arch	1.0.5-2	install ok installed
mono-utils	1.0.5-1	install ok installed
libmono-dev	1.0.5-2	install ok installed
mono-common	1.0.5-1	install ok installed
libmono0	1.0.5-2	install ok installed
mono-jit	1.0.5-1	install ok installed
mono	1.0.5-1	install ok installed

Just upgraded some of these packages to current debian unstable and it is still
working.
I also installed the following packages:
libgtkspell-dev epiphany-browser-dev evolution-data-server-dev libglib2.0-dev
libmono-dev mozilla-dev libdbus-cil libgconf-cil libgecko-cil libglade-cil
libglib-cil libgnome-cil libgtk-cil libgtksourceview-cil libvte-cil

Moving to mono 1.1.4 was not that hard. I downloaded the source tar ball and did
"./configure;make". Then I decided I want packages instead. So I copied the
debian dir from debians mono source and run "dch -d" to upgrade the version
number, after this "fakeroot dpkg-buildpackage -nc" worked.
Debian splits the assemblies. So i copied the unstable mcs directory somewhere
else and put the "debian" dir from "apt-get source mono-mcs" into it, ran "dch
-d" again. Building the assemblies gave some error about a missing gacutils,
fixed that with a symlink. 
I'm sorry I forgot to reset my cflags, so I can't really share the packages i guess.

mono 1.1.4 and GoogleSearch.wsdl is no real improvement. It just throws return
code 255 and no error message.
Comment 10 Mario Manno 2005-02-26 18:10:11 UTC
Oops. My 'home-brewn' mono packages make more problems than expected. 'wsdl'
never worked cause it did not find 'wsdl.exe', there are some symlinks missing
in '/usr/share/dotnet/bin/'.

If i call '/usr/share/dotnet/mono/1.0/wsdl.exe -namespace:Beagle.Util
-out:GoogleSearch.cs GoogleSearch.wsdl' everything is fine with mono 1.1.4.

So maybe I should have used 'checkinstall' instead of copying debian dirs around...
Comment 11 Matteo Acerbi 2005-03-04 09:53:37 UTC
well i've just tried on another machine with the *same* mono set-up (debian sid,
1.0.5-3) and wsdl works for the .wsdl in 0.0.7 new release... downloaded that
release on the previous PC and it keeps on complaining about schemas...

as i'm missing some other libs on the new machine i haven't tried building the
whole beagle on it, and i've got no time for it now...

anyway, i think this issue is definitely not about beagle but about debian
packaging (and maybe google, i don't think their wsdl doc is correct, at least
with those namespace declarations).

if i find out something about sid packages, i'm going to tell the maintainers.

it would be nice to find out that someone is going to build debian packages for
http://www.mono-project.com/Downloads#Unstable_release.

i'm definitely not going to be that one. :-)

should i close this bug? it's the first time i use a bugzilla, don't know what's
best...

maybe set this "NOTGNOME"?
Comment 12 Jon Trowbridge 2005-03-09 20:28:09 UTC
It sounds like NOTGNOME to me.

Matteo and Mario: Thanks for taking the time to look into his.
Comment 13 Matteo Acerbi 2005-03-14 10:02:51 UTC
yes, it is NOTGNOME, it looks like it's Mono's:

http://bugzilla.ximian.com/show_bug.cgi?id=72568

the conclusion seems to be: use mono 1.1.4

also see this:

http://www.beaglewiki.org/index.php/DebianInstall

and this post:

http://mail.gnome.org/archives/dashboard-hackers/2005-March/msg00042.html