WCF / ASMX :: Call Webservice From Different Computer On Different Network
Mar 28, 2011
I have created web service and deployed on server after creating proxy server ..........
when i browse the URL used in proxy server from different computer on same network, it works fine..... but when i browse the same URL on computer on different network, it wont work.....
I created a simple web service in VS2010 (C# - XP Professional SP3 development computer -- running .Net 3.5/4.0) that just does the basic "Hello World" and changes Temperatues from Farenhet to Celcius functions and ran fine in VS2010. I then created a directory in C:Inetpubwwwrootwebsvcvs10a (of the same development computer). In the localhost IIS I converted this to an application directory (properties/create application). I tried to deploy my web service here using the publish wizard of VS2010 but was getting errors stating that the URL was not in the correct format, so I decided to just copy myService1.asmx, Web.Config, and the bin folder (which contains the compiled assembly) directly to C:Inetpubwwwrootwebsvcvs10a. Then from the localhost IIS I tried to browse myService1.asmx and received the following error:
Configuration Error Description:An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitive.
Version Information: Microsoft .NET Framework Version:2.0.50727.3615; ASP.NET Version:2.0.50727.3618
--I tried changing the targetFramework to 3.5 in web.config, but that did not fix the problem. I then removed the targetFramework attribute from web.config and then got this error message:
Could not load file or assembly 'myVS2010Websvc' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.
Description:An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.BadImageFormatException: Could not load file or assembly 'myVS2010Websvc' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.
What can I / should I do to resolve this problem so that I can deploy this web service project to localhost -- don't I already have .Net 4.0 runtime on this machine? It is the same machine that is running VS2010.
all My web app is calling webservice which resides in same virtuall directory as web app . In this scenario i have a javascript function like this which works perfectly.
I have a production web application that uses <authentication mode="Windows"/> I have added an .asmx page with a method in it. I'd like to test making calls to it from a separate client web app. When I do this I get the error: The request failed with HTTP status 401: Access Denied What do I need to do in my client app to access this webservice?
In my ASP.net 3.5 application I'm calling an asmx webservice that is part of the application. Calling the webservice entends the user's session timeout, which is undesirable in this case.How can I call a webservice on my server without extending the session timeout? Is there a way in IIS to designate it as being outside of the session scope? (apologies if I'm using incorrect terminology) Can I designate a directory in the ASP.net web.config file as being outside the session?
Pinging back to a webservice in ajax from the client keeps the user's session alive, I don't want this to happen. More extensive summary For a website we're developing, we need the client to ping back (in js) to a webservice (ASMX) on the server (IIS7.5). This happens to let the server know that the user is still on the site, and hasn't browsed away to another site. This is as our customer wants to let users lock records, but if they browse away to other sites, then let other people take over those locked records. Perhaps the distinction between the client being on the site but inactive and on another site seems unimportant, but that's kinda irrelevant, I don't get to write the UI spec, I just have to make it work.
My problem is this, the ping stops the user from being timed out on the server through the standard forms authentication timeout mechanism. Not surprising as there is that 30 second ping in the background keeping the session alive. Even though we want to know if the user is still on the site, we want the normal forms authentication timeout mechanism to be honoured. I thought I might be able to fix this by removing the ASP.NET_SessionId and .ASPXAUTH cookies in the XMLHttpRequest that is the server ping, but I can't figure out how to do this. This is how my web service & method are defined:
[WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ScriptService] public class PingWS : WebService { [WebMethod] public void SessionActive(string sessionID) { // does stuff here } This is how I'm calling it in js (request is over HTTPS, : $.ajax({ type: "POST", url: "PingWS.asmx/SessionActive", data: 'sessionID=' + aspSessionID + '}', beforeSend: function (xhr) { xhr.setRequestHeader('Cookie', ''); xhr.setRequestHeader('Cookie', 'ASP.NET_SessionId=aaa; .ASPXAUTH=bbb;'); }, dataType: "json" });
I was trying with the setRequestHeader, but that just appends to the header rather than overwrites the header, and IIS is happy to ignore that junk I added. I'm thinking maybe I should be trying to do this at the server end, someone take PingWS.asmx out of the loop so that it doesn't keep the session active, but I'm not sure how to do this. Although the title of the question is focused on clearing the cookie in the header, I'd be super happy if anyone points out that I'm being really stupid and there is actually a much better way of trying to do what I'm doing.
I'm thinking at this stage maybe I need to add something to the webmethod that says how long this particular page has been inactive, and use that knowledge to timeout manually. That actually sounds pretty easy, so I think I'll do that for now. I'm still convinced that there must be an easy way to do what I originally wanted to do though. Update I'm thinking I'm pretty screwed in terms of cookie manipulation here as both the .ASPXAUTH and ASP.NETSessionId cookie are HttpOnly, which means the browser takes them out of your hands, you can't access them via the document.cookies object. So I would say that leaves me with:
Updating my SessionAlive webmethod to track each request so I can tell how long the user has been sitting idle on a page and timeout if needs be Marking the .asmx page somehow on the server end so that it's taken out of the normal authentication/session tracking flow I know how to do 1. so I'll start there but 2. seems much cleaner to me.
I can't seem to find good documentation of My.Computer.Network. We are currently using Xceed FTP in a program and I want to try to replace the functionality with the built-in .NET class. Can anyone point me to comprehensive doc and/or do you know if the class supports doing a diretory listing at the remote FTP site?
I have an asp.net (FW 3.5) web app that runs on an internal network. One specific page needs to "report" in to the web server that it is active and not locked up. I need to be able to run a script (or something) at the client to report the pc's computer name in that report. I cannot find a method that does this. I found several things that would report the WAN IP or host name, but this appears to all be for external facing sites.
I have web service on server! This service is calling from the clients applications!
Now how i can get user name and computer name of clients that using this service, for example if application from Clint1 calling this service i want to get computer name and user name of Clint1?
I wrote a web service sometime back, and uploaded to one of our network Server's IIS. The webservice needs to access a network folder, which was working perfectly fine till a month ago. Now, when we use the webservice in our .Net application, it fails with the exception message "Access to the path '\<networkMachine ><Folder >' was denied" (may be some group policies changed). But when I run the webservice from my local machine's Visual Studio debugger, it can access that folder. What could be different on the server's IIS w.r.t. my service? Why was it able to access the network folder before but not now? Please note that I can manually access that shared network folder from my machine, and also when I remote desktop to that <networkMachine> from windows explorer.
I saw in the task manager on the server that the IIS process w3wp.exe is running under 'NETWORK SERVICE' account. Though the network folder is not shared specifically with this account, but that has given read & execute access to 'Everyone'. Then what is the problem that it cannot access the folder. By accessing I mean creating a 'DirectoryInfo' object of the path '\<networkMachine ><Folder >' and reading all the subfolders - just read.
I have datatable consist of 20 records and i want to bulk insert into sqlserver through the asmx webservice. Can anybody guide to me or provide Sample BusinessLogic and webservice code.
I have confirmed that the same user is logged in both examples, permissions on the parent folder are set correctly, and the logged user has propper right to do this.
If I change the path to a local one, the asmx page can create the folder.Why would this fail when running in the .asmx page?
if i have the web application with many pages like add order page, edit order page, and delete order page actually they also interact with the Sql Server 2008 and i also create web service page call Sales_Service.asmx. i know just i need to put something like query into Web Method in Sales_Service.asmx but i have a lot of queries, i don't know which query i should put into it and how the web page call the Sales_Services.asmx
How to call Synchronous service call for combo boxes? As I know Synchronous calls do not create a good user experience because the application is hung waiting for the Web service call to return. Then it is my requirement.
I have a .net app developed in .net 4.0 version. And I implemented an asmx web service in this. Now I want to call one of the webservice method in another classis ASP application java script function.
I have a page, in my web app, that need to make a call to a web service that reside on the same network of the web server, but the machine with the web service is not directly reachable from the internet. can I set a local ip address in the web config file? es: 192.168.9.2 Or I must only set a public ip address?
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.
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 have certificate(abcd.rar) , which I need to include when I call that web service from asp.net application, Some one tell me how do I implement certificate into my application, certificate is with file extention .rar