[Mono-dev] Issues generating code stub for webservice using wsdl2.exe

Stéphane Zanoni stephane at omni-ts.com
Wed Mar 12 16:52:26 EDT 2008


This is our last major non-interface related issue converting our
projects to supporting Mono.  We have been using Mono 1.2.6.

The wsdl file we are using is provided by Novell and used to access
GroupWise.  We have been using the MS.NET 2.0 wsdl.exe generated code up
till now.  We would countinue to use the assembly that was generated by
the MS tool, however it causes our application to crash during certain
web method requests.  So we figured we'd try to use the Mono generation
tool to see what we get.

We have identified that some of the same web methods generated by
MS.NET that crash are the ones with warnings during the Mono wsdl2.exe
code generation. (kinda makes sense)


--- Command line executed to call wsdl2
>  wsdl2 /nologo /language:CS /namespace:Novell.GroupWise.Client.Soap
/out:Novell.GroupWise.Client.Soap.cs /protocol:SOAP groupwise.wsdl
types.xsd methods.xsd events.xsd

--- Response:
There where some warnings while generating the code:

  groupwise.wsdl
    - WARNING: At least one operation is of an unsupported type and has
been ignored

Writing file 'Novell.GroupWise.Client.Soap.cs'
---
(note the typo in the message?  'where' should be 'were')


The header of the generated Mono .cs file shows a whole bunch of
methods that were ignored during generation:


>>> SNIP <<<
// WARNING: Could not generate operation binding createItemRequest.
Type boolean not supported
// WARNING: Could not generate operation binding
createSignatureRequest. Type boolean not supported
// WARNING: Could not generate operation binding forwardRequest. Type
boolean not supported
// WARNING: Could not generate operation binding
getAttachmentRequestMessage. Type string not supported
// WARNING: Could not generate operation binding getFolderListRequest.
Type boolean not supported
// WARNING: Could not generate operation binding getRuleListRequest.
Type boolean not supported
// WARNING: Could not generate operation binding getSignaturesRequest.
Type boolean not supported
// WARNING: Could not generate operation binding readCursorRequest.
Type boolean not supported
// WARNING: Could not generate operation binding
removeCustomDefinitionRequest. Type boolean not supported
// WARNING: Could not generate operation binding
removeSignatureRequest. Type boolean not supported
// WARNING: Could not generate operation binding retractRequest. Type
boolean not supported
// WARNING: Could not generate operation binding
cleanEventConfigurationRequest. Type boolean not supported
// WARNING: Could not generate operation binding
configureEventsRequest. Type boolean not supported
// WARNING: Could not generate operation binding getEventsRequest. Type
boolean not supported
>>> SNIP <<<


I find it pretty difficult to believe that boolean's are not supported,
as it would be a "slight" oversight.  Can someone comment on what the
messages mean and what measure of effort will be required to address
this issue?

Also the fact that every Request/Response class is prefixed with
"Message" and is proper-cased using the Mono wsdl2.exe, causes a major
compatibility difference between the MS.NET 2.0 and the Mono tool.

I've attached the wsdl+xsd as well as the Mono and MS.NET generated
code stubs.

Attachments moved to:
http://www.omni-ts.com/_mono-list/attachments.zip


Any help getting to the bottom of this would be greatly appreciated.


Stéphane 


More information about the Mono-devel-list mailing list