Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   ASP .Net Web Services (http://www.velocityreviews.com/forums/f64-asp-net-web-services.html)
-   -   Overloading SOAP Interpretations for Specific Primitive Types (http://www.velocityreviews.com/forums/t784078-overloading-soap-interpretations-for-specific-primitive-types.html)

brian.mills 11-17-2004 03:34 AM

Overloading SOAP Interpretations for Specific Primitive Types
 
I have a 3rd party web service that is returning non standard primitive
types. IE. instead of returning <att>false</att>, its returning <att></att>.
a similar problem exists for datetime.

Is there anyway to overload how the inbuilt web service services interprets
primitive types?

Dan Rogers 11-18-2004 11:14 PM

RE: Overloading SOAP Interpretations for Specific Primitive Types
 
Hi Brian,

Unfortunately what is coming over on the wire is a invalid value for a
value type of type boolean. Without some added behaviors in your code, you
will not get the results you are looking for. If a <att nill=true/> were
being received, or if the field were omitted totally, you could probably
just attribute a default into the class that you are deserializing into,
but an empty field will not be perceived as nill (*nills on value types are
a different interoperability problem at the moment besides)

First I'd confirm that this bug is not possible to address on the sender's
side. That example of a "false" is definitely not intuitive, nor XML
compliant for a boolean value set. The easiest way to support your
position is to validate the data returned as XML against the schema for the
return. If the return type expected is a boolean, the empty value will
fail validation - and so as a caller you have a solid basis for calling
this a bug.

If you don't have the leverage to get this bug fixed, you probably will
need to intercept the data being returned, check for known problems and fix
the XML before it is sent to the deserialization step. The simplest way I
know to do this is to create a custom Web Service Extension that modifies
the incoming XML when the right conditions are met.

I hope this helps,

Dan Rogers
Microsoft Corporation
--------------------
>Thread-Topic: Overloading SOAP Interpretations for Specific Primitive Types
>thread-index: AcTMVkjJ7pj37CrRSJO5/fmbEgnuEw==
>X-WBNR-Posting-Host: 210.8.233.77
>From: "=?Utf-8?B?YnJpYW4ubWlsbHM=?="

<brian.mills@discussions.microsoft.com>
>Subject: Overloading SOAP Interpretations for Specific Primitive Types
>Date: Tue, 16 Nov 2004 19:34:03 -0800
>Lines: 6
>Message-ID: <B90F31E6-0D9A-4677-A597-0B7168491DA1@microsoft.com>
>MIME-Version: 1.0
>Content-Type: text/plain;
> charset="Utf-8"
>Content-Transfer-Encoding: 7bit
>X-Newsreader: Microsoft CDO for Windows 2000
>Content-Class: urn:content-classes:message
>Importance: normal
>Priority: normal
>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
>Newsgroups: microsoft.public.dotnet.framework.aspnet.webservic es
>NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.1.29
>Path: cpmsftngxa10.phx.gbl!TK2MSFTNGXA03.phx.gbl
>Xref: cpmsftngxa10.phx.gbl

microsoft.public.dotnet.framework.aspnet.webservic es:26654
>X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webservic es
>
>I have a 3rd party web service that is returning non standard primitive
>types. IE. instead of returning <att>false</att>, its returning

<att></att>.
>a similar problem exists for datetime.
>
>Is there anyway to overload how the inbuilt web service services

interprets
>primitive types?
>




All times are GMT. The time now is 12:41 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.