I deployed the web serivce to production server, and change the app.net application web service reference
Pointing to the live web service link. then i call the web serivce from the asp.net application.
the Errro thrown immediately after the web method is invoked.
here is the detail of Error Message
System.Web.Services.Protocols.SoapException was unhandled
Message="System.Web.Services.Protocols.SoapException: Server did not recognize the value of HTTP Header SOAPAction: System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest()\n at System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage message)\n at System.Web.Services.Protocols.SoapServerProtocol.Initialize()\n at System.Web.Services.Protocols.ServerProtocol.SetContext(Type type, HttpContext context, HttpRequest request, HttpResponse response)\n at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)"
Source="System.Web.Services"
Actor=""
Lang=""
Node=""
Role=""
StackTrace:
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at the root cause of Hash.web contains some temporary information for this web service. Since i only update the web serivce link in the web config file. it will trigger the application pool to be recycle.. However the applicaiton pool recycle might not be able to completely clear the information that being cache.
here is two approach to fix the issue.
1. delete the test web reference in the asp.net application and add the live web service link. (this is not a good practice and never recommand since any change in the applicaiton need to have extra test before you can put it live again.
2. clear the ASP.Net Temporary File under the .net Framework Folder and Restart the IIS to completely clear the file Cache in the Microsoft.Net Folder.