Webservice - Can It Have Two Webmethods With Same Name But Differnent Paramat
Nov 22, 2010
I have a webservice (using asp.net VS 2008).If I have two webmethods with same name but different input parameters and same output parameters. Just like given below. Can't I have two webmethods with same name with different parameters?
Both TestProj.WebServices.Portfolio GenerateData(System.String) and TestProj.WebServices.Portfolio GenerateData(System.String, Boolean) use the message name 'GenerateData'. Use the MessageName property of the WebMethod custom attribute to specify unique message names for the methods.
I couldn't think of a decent title, so let me first apologize for that. I have a WebService (call it A) written for my app so I can take advantage of ASP.NET 3.5 AJAX features. I use the generated JavaScript proxy to make AJAX calls.As a side effect, WebService A is exposed for anyone to add as a reference to another project, which is great, except I don't want certain WebMethods to be available to external applications (in the same domain, BTW).So I've got two questions:Is there a way to control the exposure of WebMethods in WebService A?
If there isn't, I'm thinking I'll just add a separate WebService (B) that exposes the WebMethods I need from WebService A. But then,How can I prevent other applications from referencing WebService A while still allowing the application it originates in to access it?If that's not possible, I'm not really worried about it. The apps are all intranet-only, I just don't want the WebServices to be abused.Also, there is a similar question here already without any good anwers. The asker describes almost the same situation I'm in: [URL]
I'm generating a file on the server which takes some time. For this, I have a hidden iframe which I then set the .src attribute to an aspx file i.e iframe.src = "/downloadFile.aspx"While this is taking place, I'd like to have a call to a web service return the progress. To do this, I thought I could use window.setInterval or window.setTimeout but Javascript seems to be blocked as soon as I set the iframe src attribute.Does anyone know how to get around this or perhaps try a different approach?I have also tried handlers, but the request never gets to the server so I'm assuming is a browser/javascript issue.
//Function that gets the file function GetFile() { setTimeout(GetProgress, 1000); var iframe = document.createElement("iframe");
The intent is to create a set of web services that people can reuse. These services mostly interact with a backend DB creating, retreiving and processing data. We want to expose services so that people can use to create data mashups and other applications.End users are webpages that can be within our domain or outside our domain. For pages outside the domain we plan to release widgets that would be configured to retreive and display the data.
One requirement - application should be extremely scalable in terms of the number of users it can handle.Our code base is .net and we are looking at ASPX webmethods (or ASHX), ASMX webmethods and WCF (starting to read up on WCF). In terms of security/access I found that maintaining sessionid, memberships is doable in all three. WCF seems a bit complicated to setup. I could not immediately see the value of asmx when we can get all done just using a webmethod in aspx (with a little tweaking). Also, assuming that with the ASP.NET MVC2 I might be able to get clean urls as well for these webmethods.QuestionsWhich one will be the most effective in terms of performance and scalability? Any reason why I should choose WCF or ASMX?
EDIT I kind of understand that WCF is the way to go. Just to understand the evolution of the technologies it would be good if someone can throw light on why a aspx webmethod is different from an asmx when similar things (apart from discovery) can be accomplished by both. The aspx webmethods can be made to return data in other formats (plaintext, json). Also, it seems that we can build restful services using ashx.
I want to reduce postback in one of my application page and use ajax instead. I used the WebMethod to do so.. I have a static WebMethod that needs to access the session variables and modify. and on the client side, i am calling this method using jQuery. I tried accessing the session as follows:
[WebMethod] public static void TestWebMethod() {
[code]...
The values are displayed correctly and seems to work.. but i would like to know if this practice is allowed as the method is a static methods and would like to know how it will behave if multiple people access the application.I would also like to know how developers do these kind of tasks in ASP if this is not the right method.
I am using PageMethods in asp.net. In code behind i have written a method which should call a javascript function for each loop & should come back & continue the loop.Is it possible?
[WebMethod] public static void GetStatus() { for (int i = 0; i < 10; i++) { System.Threading.Thread.Sleep(500); //Call javascript function } }
I have a cascading dropdown (3 of them) Type, Categories and Sub Categories. Type loads first and upon selection of Type, Category load and selection of Category, Sub Category loads. Also i have 2 buttons, "Add Category" and "Add Sub Category" Upon clicking on these buttons, i call a JQuery Modal Form to add them. I use Webmethod in code behind to add them to database
This works perfectly in ASPX page.
Since I need use this in 3-4 pages, i thought of making the above as User control (ASCX). When i try to use this in a webpage, the webmethods in ASCX don't get called.
I have what should be a relatively simple task that's frankly got me stumped. I've researched it until my brain is fried, and now I'm puntingHere's the scenario:I have an ASPX page (Q2.aspx) that is decorated with the WebService,WebServiceBinding, and ScriptService attributes. That page contains a method, GetAllContacts, that is decorated with the WebMethodattribute and returns a string containing JSON data. (For what it's worth, the pageitself contains no other controls or functionality.)I have an HTML page that contains JavaScript which uses the XmlHttpRequestobject to invoke the GetAllContacts WebMethod on the ASPX page and transformthe JSON data into an HTML table. I have verified that my Web.Config file contains the appropriate protocol handlersfor HttpGet and HttpPut in the WebServices section under System.Web.webServices. I have verified that my Web.Config file contains the ScriptModule entry under theSystem.webServer.modules section, and that it matches the appropriate documentation.
However, when I view the HTML page in a browser, the following occur:The web request goes through, but the results are for the unprocessed HTML from the ASPX page.The GetAllContacts method is never invoked, as evidenced by setting a breakpoint in its code.The code to invoke the Web service, however, is invoked, and the JavaScript callbackfunction that is invoked upon request completion is properly invoked.
It appears that the JavaScript code is largely set up correctly, but for some reason that is completely escaping me at this point, the HTML page will simply not execute the WebMethod on the ASPX page, and simply returns the page as though it were a plain HTML GET request. Clearly, an HTML document can't be evaluated by JavaScript's eval function, which brings me to my problem. (Also note that the JSON data appears nowhere in the HTML that's returned.)I am, frankly, baffled. I've looked at dozens of Microsoft articles, StackOverflow posts, CodeProject articles, and who knows what else. My code looks like it's okay. But I know better. I'm missing something simple, stupid, and obvious. I just need someone to point it out to me.Below you'll find the ASPX page code and the HTML code, in the hope that they'll shed some light.ASPX Code
I have the following code to store session variable in one webmethod and retrieve it in other webmethod but the value displays null when i try to retrieve it.
[WebMethod(EnableSession = true)] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public bool SubmitList1(string businessname ) { Session["Company_Name"] = businessname; SqlConnection con = new SqlConnection(); ....... ......... ......... }
This will be my second webmethod where i am trying to retrieve the session variable
[WebMethod(EnableSession = true)] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public bool addresslisting() { string companyname = (string)Session["Company_Name"];// this particular value is displaying null ...... ........ }
The default behavior of a [WebMethod] attributed static method on an aspx page is to return the error to the caller. We are accessing these methods using json, and the only way we have found of capturing exceptions is either a try/catch in every webmethod on the site or using a javascript callback with the error (which has the unacceptable downside of exposing the error to the client).
Is there any way to globally handle these exceptions using the HealthMonitoring setup in ASP.NET?
I have some code that is throwing unhandled DivideByZero exceptions in a WebMethod. These exceptions are not being caught by the global logging in Application_Error in global.asax. why exceptions thrown from a WebMethod are not handled by Application_Error?
My scenario is i have 4 tabs, under every tab there are five cascadded combo. So for page load itself it calling webservice at last and populate all parent cascaded dropdowns in all the four tabs.
now I have made changes but still now its not working. By defeault [ScriptMethod(UseHttpGet = false)], so i made it [ScriptMethod(UseHttpGet = true)]. now on tab change i added that function and it is calling the web methods when changing the tab. But after the loading its again call the webservice and this time as the get is true so its not getting any value. And in the dropdown its showing "error 12030".
I'm verifying e-mail address using WebMethods, however, I'm getting a 404 not found (error console) saying that it can't find activities.aspx.aspx. I am using URL-Rewriting, but I tried adding a detect for 'activities.aspx.aspx' and redirect back to .activities.aspx' but it didn't do anything.
In Visual Studio 2008 I have a Class Library project (called Media) to which I added a Web Reference (not a Service Reference) to a third-party web service (wsdl). In the Class Library project a proxy class is created for using the service along with several classes for the types used in that service.
I also have a second Class Library (called Sync) that references the first one. And then I have a Web Site project that references the second class library. All of this is .NET 3.5
So Web Site > Class Library (Sync) > Class Library with web service reference (Media)
I want to step into the generated code, so I fire up the web site in IIS 7.5 and trigger the call to a method in the second class library (Sync) that in turn should call the web service proxy. I was fully expecting to hit the breakpoint, but instead got an exception:
Unable to generate a temporary class(result=1). error CS0029: Cannotimplicitly convert type Media.WebService.multiValuedAttribute to Media.WebService.multiValuedAttribute[]
Why is ASP.NET trying to generate a temporary class? Don't I already have the generated class from the first Class Library (Media)?
I am trying to setup a Spring.net web-service but keep getting an error message that I cannot figure out.
Error: System.NotSupportedException: Target 'target' of type 'Spring.Objects.Factory.Support.RootWebObjectDefinition' does not support methods of 'StudentRegistration.Services.IBoundaryService'. at Spring.Util.AssertUtils.Understands(Object target, String targetName, Type requiredType) at HelloWorldExporter.GetAllBounds()
Code: public interface IBoundaryService { XmlDocument GetAllBounds(); } public class BoundaryService :IBoundaryService { public virtual IBoundaryDao BoundaryDao { get; set; } public virtual XmlDocument GetAllBounds() { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml("<test>ok</test>"); return xmlDoc; } }
I have a ASP.NET application. Inside the asp.net application I have a folder called WebServices where I keep all the .asmx files.
I am referring these asmx files inside asp.net .cs files. Instead of giving the full url to the webservice.url property how can i set the path like this.
I am using PHP web service in dot net [URL]I set the name of web service as Test but when I am trying to access object test I was not able to use that, is there is any other method to use PHP webservice.
How can I set up an asynchronous web service in asp.net? I want to call a webservice to post some data to a database, but I don't care if the response failed or succeeded. I can use .net 2.0 or 3.5 only and it can be in vb or c#.
I was looking for an asp.net webservice that uses .net 4.0 but everytime I choose 4.0 the webservice choice goes away.Someone suggested to me that maybe they(MS) want you to use WCF instead. I don't know much about it but he said they are like webservices but better. So anyone got a comparisons guide?
I try to call my webservice but I cant! when I put it in root directory it possible but when I put it in sub directory it's impossible to call it! and one more problem that I face with it,my javascript file stay in 3 sub directory like ../../../myjsfile.js when I put my webservice address like this ../../../webservice.asmx it dont work but when I change it to a full address it work.anybody know what is my problem?
XML Webservice: the webservices takes in an XML request and responses with a XML response.im not sure if im doing the right thing for the request?ith the XML request, do i take the XML request from the page input parameter?
http://api.domain.com/webservice/xmlExample1.aspx?xml=<Example1><FirstName>David</FirstName></Example> <-- XML Request (this looks very wrong) xample1Response> <Success>True</Success> </Example1Response>
I want to have a Servercontrol draggable onto the page, but I want it's Data to be fed via a webservice...is it possible to embed a webservice into a DLL somehow?
i have declared an int variable; something like that:
int ret = ws.GetVersion();
the webservice correctly load the value and return to the client, however in the client if i select ret and hit shift+f9 it say that ret doesnt exist in that context.but if that would be the case i would get a compiler error,