.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
Sign In
Win Surprise Gifts!!!

Top 5 Contributors of the Month
david stephan
Gaurav Pal
Post New Web Links

Something I don't get, with asmx and using XmlSerializer..

Posted By:      Posted Date: April 10, 2011    Points: 0   Category :ADO.Net

So, I have an XSD that reflects the kind of XML I'd want to receive - it has maxLengths and patterns etc

And I have an asmx based web service, but there is then this logical disconnect between these things...


I use xsd2code to generate classes, and I have a [WebMethod] that requires an instance of the generated class as its request parameter

But naturally, then I don't have access to the XML, and the generated classes don't have any checks for the maxLengths or patterns that I've set..


So why did I even bother designing my xsd all nicely like this when the wervice is asked for its WSDL it's all going to get lost and just pumped out as strings and ints?

What should I be doing to make this work more harmoniously? i.e. I'll need a set of classes to code against, but do I specify the xsd path in some kind of method decorator like [WebMethod] so that the XmlSerializer can validate the inbound xml against the xsd before it does the decode and returns me populated classes?

View Complete Post

More Related Resource Links

Posting data to ASMX and return Object for jQuery


I am using fluent NHibernate with WebForms and I am trying to build a page where I allow a user to post a status update on their profile page and I a using a .asmx WebService to post the data to the database and then returnig a StatusUpdate instance to the page to be used by jQuery. I have a couple problems.

1) First off when I return a string from the WebService(i was testing) the textbox where the user enters their status doesnt empty the contents. And since the page doesnt refresh even if I manally clear out the textbox and put in something else, it still posts the previous status to the database again. How do I fix this?

2) Secondly, when I return the StatusUpdate Object from the Webservice I cant the results to display anything. Like I sad, Im using jQuery to make an AJX call to the WebService.

Here is my code:

User Profile Page:

Status: <asp:Label ID="status" runat="server"></asp:Label><span style="font-size:.7em;"><asp:Label ID="statustime" runat="server"></asp:Label></span><br />
<textarea id="statusBox" rows="3" cols="40"></textarea><br />
<input type="button" value="Update Status" onclick="SetStatus(); return false;

Wicked Code: Running ASMX Web Services on STA Threads


Jeff Prosise describes performance problems in an ASMX Web service that relied on legacy COM and Visual Basic 6.0 to perform key processing tasks and the approach he took to find a fix.

Jeff Prosise

MSDN Magazine October 2006

Service Station: All About ASMX 2.0, WSE 3.0, and WCF


The release of the Microsoft® . NET Framework 2. 0 reshapes the Web services landscape in several interesting, and perhaps confusing, ways. So this month I'm going to field some of the most common questions related to ASP.

Aaron Skonnard

MSDN Magazine January 2006

Service Station: Run ASMX Without IIS


When the Microsoft® . NET Framework first shipped, it introduced a breakthrough Web services framework known as ASMX. The motivation behind the ASMX design was to simplify the process of developing Web services as much as possible so that even if you're not an XML expert, you can get a Web service up and running.

Aaron Skonnard

MSDN Magazine December 2004

Writing Data to database with jQuery Forms, ASMX Webservice, & JSON - help!



Can someone point me in the right direction on how to submit data from a jQuery form to a ASMX webservice? I have gotten everything on the form ready to be submitted to the database and now I am stuck on how to send it over using $.ajax(). Everything I have read tells me how to get data from a webservice and display it with jQuery, but not the other direction nor how to access the json data within the within the webservice service(similar to a Request.Form approach with ASP.NET forms).

In other words: 

1. What do I need to do to my webservice to make sure it can receive data from the jQuery form. 

2. What do I need to do in jQuery to receive an acknowledgement the save on the server side was successful. 

I can explain more if need be, but if there is a comprehensive tutorial on not only reading, but also WRITING data with jQuery, JSON, etc. I would love to get pointed in that direction. 

ASMX ws: An unexpected error occurred on a receive; failing intermittently



we I have asmx web service, this seems to be working fine for 25 client machines but one site keeps failing. The client gets a small dataset and tries to send it across to server to process. The dataset saved in XML file only makes 450 - 550kB. The web service is contacted twice in a short time every half an hour. The other smaller dataset (50kB) goes across everytime without any troubles. This site is not trying to send the biggest dataset, other site are sending much bigger datasets without problem. The catch is this failing site keeps retrying for 20 times (10 hours) in average and then eventually goes across. I don't think the service webmethod is erroring out as that is all wrapped up in the try and catch and the exception is not getting thrown, also every other try for the exact same webmethod used by any other client site seems to be working fine.

System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a receive. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
   at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
   at System.Ne

VS2005 calling VS2010 asmx service returns empty string


Anyone have any experience with this?

We are using VS 2005 for the front end, and vs 2010 for the web services part (asmx), not wcf yet.


Web service works just like the vs2005 when run locally, no problems.


Connecting to it from a test app returns an empty string. Connecting to a 2005 app doesn't!

Anyone run into this before or have a suggestion? Surely vs 2005 can connect to web services from a later version?






How to call ASMX from Javascript


I am very new to web services so this may be a very silly question: how do you call an ASMX web-service sychronously, so that the web-page doesn't finish loading until the web service has sent its response?  I need my Javascript calling function to sit tight until the web-service returns its response; at the moment, it continues execution without waiting.

I have a web service defined in an ASMX file:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;
using System.Configuration;

/// <summary>
/// Summary description for MyService
/// </summary>
[WebService(Namespace = "http://www.myservice.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
public class MyService: WebService 
    public MyService() 

        //Uncomment the following line if using designed components 

    public string ValidateInfo (string arg 1, string arg2)
        return response;

In my ASPX file I have a reference to my web service:

How do consume an ASMX service?



I need to consume and ASMX service on my website.

This service has to be authenticated and results would be displayed on my website.

Can you please give be step by step instructions on how do i do it?

I am using VS 2008 VB or C# is fine by me.

I had checked on various forums and its not really giving me the required steps (baby steps here)

Thanks a lot


XmlSerializer - how to define class to not generate attributes in root element?

Hi! I have simple class that I serialize to xml file: <?xml version="1.0" encoding="utf-8"?> <MyRootElement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Area="East">   <Products>     <SalesProduct Taxable="true">       <Name>Sofa</Name>     </SalesProduct>     <Product>       <Name>Television</Name>     </Product>   </Products> </MyRootElement> I don`t want have in xml file attributes xmlns:xsi and xmlns:xsd. How can I define class to not have these two attributes in xml file? I tried use XmlRoot attribute but there is no control for these two attributes. They are always generated. Regards

XMLSerializer don't handle mixed contents properly

mixed content model allows a combination of text and elements in the XML document. we use .net xmlserializer to serialize/deserialize the XML. XmlSerializer don't handle mixed content properly. XmlSerializer handles mixed content models to a degree. XmlSerializer add the text in the xml document, but the position of text is not exactly where they appeared in the original XML document. Let's take a example here is original xml <employee xmlns="http://example.org/xmlserializer">   here is some text...   <id>333-33-3333</id>   here is some more...   <name>Bob Smith</name>   and here is even more... </employee> We deserialize above xml using the xmlserializer then we serialize it back into xml. Now xml document is changed as follows <employee xmlns="http://example.org/xmlserializer">    <id>333-33-3333</id>   <name>Bob Smith</name>   here is some text...   here is some more...    and here is even more... </employee> You see the position of text is changed. I have seen the Microsoft code to serialize/deserialize the xml through reflector. They put text in a string array but position is not saved. Is there any solution or workaround? I don't want to parse the xml by xmlReader. I want fix in the Microsoft generated classes that ar

XmlSerializer crashes when vb6 instantiates it via COM

I Have a vb6 application that uses .net clases via COM. When one of this clases calls code which instantiates XmlSerializer vb6 aplication crashes. Just this line fails: Dim x as new XmlSerializer(GetType(CustomClass)) I agregate that these clases load assemblies dinamically but only it crashes over vb6 aplication. In .net 100% aplication this not happens. I don't know if this is the forum I should post this problems Thanks for your help.

Trying to call an asmx web service from a test project

I am trying to create a proxy for an asmx web service. The only thing I find in Visual Studio 2008 is a service reference. How do I call an asmx web service with a service reference? Certified Geek. Professional Data dude.

jQuery calls asmx web service

I have a jQuery method that calls a .asmx web service.  the jquery method only executes one time but the web serivce executes multiple times.  Is there a way this could happen or ways to debug this beyond breakpoints in the c# code and alerts in the jQuery.

Lifetime of asmx web service/IIS application

Hi I have a web service (asmx). I want to add a functionality where in I have to do polling for data on a URL. I added a timer and in the timer elapsed event handler I am checking for the data. (Is it a good design? Is there something better than timer for this in ASP.NET?) But what I observed is that, after some time, if the web service is ideal (no request are sent to the service), the timer event doesn't fire. Is this something by design or I have some configuration issues here. Is it very standard that if web site is ideal then the objects in that site are destroyed? I have few static objects maintaining the state should I not keep them there? Is there any configuration that allowes the service to stay alive dispite of the request sent to it or not? When web site is ideal, its only the website which goes in ideal state or IIS goes in ideal state? I mean my timer stopped is it because nobody called by web service or its because nobody called the IIS on that machine (any other web service or web application deployed on IIS)?

Unable to call an asmx web service using windows authentication from a Service workflow

Hello, I need to use an existing asmx service from inside my service workflow and I am unable to call it. This asmx service is hosted in a web application with iis set to windows authentication, anonymous is not allowed. I need to send the authentication, only way seems too be using transport for basicHttpBindings. Every time I try to call the service I get an error saying that there is nothing listening to the url of the service generated automatically by VS when I added the Service Reference ? my web config <configuration> <configSections> </configSections> <system.web> <compilation debug="true" targetFramework="4.0" /> </system.web> <system.serviceModel> <protocolMapping> <add scheme="http" binding="wsHttpBinding" bindingConfiguration="WindowsCreds" /> </protocolMapping> <bindings> <basicHttpBinding> <binding name="UtilitiesSoap" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
ASP.NetWindows Application  .NET Framework  C#  VB.Net  ADO.Net  
Sql Server  SharePoint  Silverlight  Others  All   

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend