RE: Problems with namespaces



{\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fnil\fprq2\fcharset0 MS Sans Serif;}}
\viewkind4\uc1\pard\lang2052\f0\fs20 Hi Simon,
\par
\par From your description, you're consuming a .NET webservice in an client app. The webservice has some certain custom data classes which will be shared in both client and service project. However, when you try building the solution, you found that the client app report error about the custom class object(type/namespace mismatch), correct?
\par
\par Based on my experience, this is an expected behavior when your webservice method use a custom class(an this class has also been shared in client project). Because for webservice, the client-side proxy will also generate a delegate class type (together with the proxy class), therefore, the generated webproxy class will use that delegate class type by default( that is the "nsProgram.wsWeb.Data" in your case). And if you try passing the originally defined class type( that is "nsProgram.Data" in your case), it will report type mismatch error.
\par
\par To resolve this , you can consider the following means:
\par
\par 1. Just let client application use the generated proxy class type instead of the originally server-side type
\par
\par 2. You can manually modify the generated proxy class(modify the Reference.cs file ...) and change those "delegate class" to your own class type. However, this update will be erased whenever you update the webreference. To further overcome this problem, you can use partial class feature to put your own customized proxy code logic:
\par
\par #How to customize the Web Service proxy generated by wsdl.exe (or add web references)
\par http://blogs.msdn.com/maximelamure/archive/2007/08/31/how-to-customize-the-web-service-proxy-generated-by-wsdl-exe-or-add-web-references.aspx
\par
\par Sincerely,
\par
\par Steven Cheng
\par
\par Microsoft MSDN Online Support Lead
\par
\par
\par
\par ==================================================
\par
\par Get notification to my posts through email? Please refer to
\par http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
\par ications.
\par
\par
\par
\par Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
\par where an initial response from the community or a Microsoft Support
\par Engineer within 1 business day is acceptable. Please note that each follow
\par up response may take approximately 2 business days as the support
\par professional working with you may need further investigation to reach the
\par most efficient resolution. The offering is not appropriate for situations
\par that require urgent, real-time or phone-based interactions or complex
\par project analysis and dump analysis issues. Issues of this nature are best
\par handled working with a dedicated Microsoft Support Engineer by contacting
\par Microsoft Customer Support Services (CSS) at
\par http://msdn.microsoft.com/subscriptions/support/default.aspx.
\par
\par ==================================================
\par \tab
\par
\par This posting is provided "AS IS" with no warranties, and confers no rights.
\par
\par \pard\li720 --------------------
\par From: "Simon" <none@xxxxxxxx>
\par Subject: Problems with namespaces
\par Date: Wed, 2 Jan 2008 08:54:55 +0100
\par
\par I have problem with namespaces. I have a program that consumes the web
\par service and has for instance names space nsProgram. In this program I have
\par defined several classes that I use for storing and handling internal
\par information. Than I have web service, that also uses the same classes (I
\par included the file as linked external resource). I included this web service
\par as web reference and used name wsWeb.
\par
\par When I am trying to call the web service with parameter that is my class
\par (for instance Data) I can declare this Data class in my main program without
\par any problem, but compiler reports an error:
\par Error 1 The best overloaded method match for
\par 'nsProgram.wsWeb.WebData.Test('nsProgram.wsWeb.Header)' has some invalid
\par arguments
\par Error 2 Argument '1': cannot convert from 'nsProgram.Data' to
\par 'nsProgram.wsWeb.Data'
\par
\par Why is the wsWeb also included for all data types? How can I get around
\par that?
\par
\par Thank you
\par
\par Simon
\par
\par \pard
\par
\par }

Relevant Pages

  • Re: Problems with namespaces
    ... \par application and web service. ... \par Simon ... the client-side proxy will also ... \par> Microsoft MSDN Online Support Lead ...
    (microsoft.public.dotnet.framework.webservices)
  • Problem solved
    ... am not using a beta of WSE 3; the file does already exist in my web service. ... I have no problems when I do this on a new simple web service project. ... Microsoft Online Community Support ... where an initial response from the community or a Microsoft Support ...
    (microsoft.public.dotnet.framework.aspnet.security)
  • RE: writing to file from web service
    ... WCF web service. ... Microsoft Online Community Support ... You can send feedback directly to my manager at: ... nature are best handled working with a dedicated Microsoft Support Engineer ...
    (microsoft.public.dotnet.languages.vb)
  • Re: How to alias 2 classes in c#
    ... For ASP.NET webservice's client proxy, if you use "Add WebReference" to ... the type sharing support is still limited. ... where an initial response from the community or a Microsoft Support ... having 2 versions of a web service with a total compatibility ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Why VS2005.IDE adds app.config to C# Class Library projects?
    ... URL for the web service in this case. ... Microsoft Online Community Support ... where an initial response from the community or a Microsoft Support ... project analysis and dump analysis issues. ...
    (microsoft.public.dotnet.languages.csharp)