Bug 42176 - Reference file generated with "Add Web Service" wizard is broken
Summary: Reference file generated with "Add Web Service" wizard is broken
Status: CONFIRMED
Alias: None
Product: Class Libraries
Classification: Mono
Component: WCF assemblies (show other bugs)
Version: 4.2.0 (C6)
Hardware: Macintosh Mac OS
: --- normal
Target Milestone: Untriaged
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2016-06-26 14:10 UTC by Dhiogo Brustolin
Modified: 2017-09-06 16:55 UTC (History)
3 users (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments
ServiceReferences (62.35 KB, application/zip)
2016-06-27 10:53 UTC, Matt Ward
Details

Description Dhiogo Brustolin 2016-06-26 14:10:57 UTC
Using the "Add Web Reference" wizard on a PCL project generates a Reference.cs that does not compile.

This are the errors I get: 

Error CS0234: The type or namespace name `IExtensibleDataObject' does not exist in the namespace `System.Runtime.Serialization'. 
Error CS0234: The type or namespace name `ExtensionDataObject' does not exist in the namespace `System.Runtime.Serialization'. 

The web service address used was http://api.dreamit.com.br/Handlers/ClienteEcommerce/Acoes.asmx
Comment 1 Matt Ward 2016-06-27 09:23:51 UTC
Xamarin Studio 5.10 and 6.0 both have the same problem on the Mac with Mono 4.4.1.

It is not specific to that particular web service since it is reproducible with other web services (e.g. http://www.w3schools.com/xml/tempconvert.asmx)

Interestingly it works fine on Windows with Xamarin Studio 5.10 and 6.0. On Windows the generated proxy class is different and does not use the IExtensibleDataObject nor the ExtensionDataObject. This possibly points to a Mono problem/change.
Comment 2 Matt Ward 2016-06-27 10:53:26 UTC
Created attachment 16501 [details]
ServiceReferences

Ran some tests with Xamarin Studio 5.9 and different versions of Mono. Used Xamarin Studio 5.9 since this supports Mono 4.0 whilst later versions of Xamarin Studio do not support it.

In Mono 4.0 the ExtensibleDataObject types are not used but in Mono 4.2 and above they are used.

Windows does not use ExtensibleDataObject however the generated proxy code is different to what Mono generates ignoring the ExtensibleDataObject problem.

Note You need to log in before you can comment on or make changes to this bug.