Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > ASP .Net Web Services > Server did not recognize the value of HTTP Header SOAPAction

Reply
Thread Tools

Server did not recognize the value of HTTP Header SOAPAction

 
 
Nicholas Stamos
Guest
Posts: n/a
 
      04-08-2004
Hi,

I have a problem with my Web Service.

Every time the IIS worker process hosting the Web Service gets recycled any
call from a client generates the following exception:



System.Web.Services.Protocols.SoapException :
System.Web.Services.Protocols.SoapException: Server did not recognize the
value of HTTP Header SOAPAction:
http://www.phaseforward.com/webservi...y/SubmitReport.



at
System.Web.Services.Protocols.Soap11ServerProtocol Helper.RouteRequest()



at System.Web.Services.Protocols.SoapServerProtocol.I nitialize()



at System.Web.Services.Protocols.ServerProtocolFactor y.Create(Type type,
HttpContext context, HttpRequest request, HttpResponse response, Boolean&
abortProcessing)





The only way to fix it is to stop IIS and clean the ASP.NET temporary folder
(%WINDOWS%\Microsoft.NET\Framework\v1.1.4322\Tempo rary ASP.NET Files).



After that the problem goes away.



Any ideas?.



Thanks a lot.




 
Reply With Quote
 
 
 
 
Nicholas Stamos
Guest
Posts: n/a
 
      04-08-2004
One more thing I've just discovered: it is enough to remove hash.web file
from the ASP.NET temporary folder and restart the IIS.



My configuration:

Windows 2003 Server.

..NET Framework 1.1

Microsoft Web Services Enhancements 1.0


Any ideas?

Thanks.


"Nicholas Stamos" <(E-Mail Removed)> wrote in message
news:%(E-Mail Removed)...
> Hi,
>
> I have a problem with my Web Service.
>
> Every time the IIS worker process hosting the Web Service gets recycled

any
> call from a client generates the following exception:
>
>
>
> System.Web.Services.Protocols.SoapException :
> System.Web.Services.Protocols.SoapException: Server did not recognize the
> value of HTTP Header SOAPAction:
> http://www.phaseforward.com/webservi...y/SubmitReport.
>
>
>
> at
> System.Web.Services.Protocols.Soap11ServerProtocol Helper.RouteRequest()
>
>
>
> at System.Web.Services.Protocols.SoapServerProtocol.I nitialize()
>
>
>
> at System.Web.Services.Protocols.ServerProtocolFactor y.Create(Type

type,
> HttpContext context, HttpRequest request, HttpResponse response, Boolean&
> abortProcessing)
>
>
>
>
>
> The only way to fix it is to stop IIS and clean the ASP.NET temporary

folder
> (%WINDOWS%\Microsoft.NET\Framework\v1.1.4322\Tempo rary ASP.NET Files).
>
>
>
> After that the problem goes away.
>
>
>
> Any ideas?.
>
>
>
> Thanks a lot.
>
>
>
>



 
Reply With Quote
 
 
 
 
[MSFT]
Guest
Posts: n/a
 
      04-09-2004
Hi Nicholas,

Noramlly, the exception message:

Server did not recognize the value of HTTP Header SOAPAction:

May be related to web service's namespace. Did you have settings like:

[WebService(Namespace="http://www.contoso.com/")]

in the web service?

Additionally, is the problem with all web service on the server?

Luke
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)

 
Reply With Quote
 
Nicholas Stamos
Guest
Posts: n/a
 
      04-09-2004
Hi,



Thanks for the response.



I have the following definition for my web service class:



[WebService(Namespace="http://www.mycompany.com/webservices/applicationproxy
")]

public class ApplicationProxy : System.Web.Services.WebService





As I've pointed in my previous messages the Web Service stops working after
IIS recycles the web service process. I've put a temporary fix in my code. I
process Application_Start event and clean the ASP.NET cache. The following
is the code:



protected void Application_Start(Object sender, EventArgs e)

{

//clear ASP.NET cache.



Regex regex = new Regex(

@"(?<folder>.*)assembly",

RegexOptions.IgnoreCase

| RegexOptions.Multiline

| RegexOptions.IgnorePatternWhitespace

| RegexOptions.Compiled

);



Match match = regex.Match(
Assembly.GetExecutingAssembly().Location );

if ( match.Success )

{

FileInfo fileInfo = new FileInfo(
Path.Combine(match.Result("${folder}"), "hash.web") );

if ( fileInfo.Exists )

File.Delete( fileInfo.FullName );

}

}



As you can see I remove just one file: hash.web



After that everything works perfect.



Can you suggest some other way around this problem?



Thanks.





"[MSFT]" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Hi Nicholas,
>
> Noramlly, the exception message:
>
> Server did not recognize the value of HTTP Header SOAPAction:
>
> May be related to web service's namespace. Did you have settings like:
>
> [WebService(Namespace="http://www.contoso.com/")]
>
> in the web service?
>
> Additionally, is the problem with all web service on the server?
>
> Luke
> Microsoft Online Support
>
> Get Secure! www.microsoft.com/security
> (This posting is provided "AS IS", with no warranties, and confers no
> rights.)
>



 
Reply With Quote
 
[MSFT]
Guest
Posts: n/a
 
      04-12-2004
Hi Nicholas,

Hash.web contains some temporary information for the web service. It seems
it didn't get cleared after recycled.

You may try to add the following line before the definition of the web
service class:

[SoapDocumentService(RoutingStyle=SoapServiceRoutin gStyle.RequestElement)]

The make the web server will locate the correct method by looking at the
HTTP Request-URI (based on the first child element following the <Body> XML
element of the SOAP message), rather than the SoapAction HTTP header to
route the request to the correct method.

Hope this helps,

Luke
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)



 
Reply With Quote
 
Nicholas Stamos
Guest
Posts: n/a
 
      04-13-2004
Hi,



Thanks for the response. I tried it and it seems working, but... I decided
to verify that if I take the attribute out it stops working. Unfortunately
at this point it works without attribute as well. I'll try to figure out
what exactly has changed in my environment.



Thanks.


"[MSFT]" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Hi Nicholas,
>
> Hash.web contains some temporary information for the web service. It seems
> it didn't get cleared after recycled.
>
> You may try to add the following line before the definition of the web
> service class:
>
> [SoapDocumentService(RoutingStyle=SoapServiceRoutin gStyle.RequestElement)]
>
> The make the web server will locate the correct method by looking at the
> HTTP Request-URI (based on the first child element following the <Body>

XML
> element of the SOAP message), rather than the SoapAction HTTP header to
> route the request to the correct method.
>
> Hope this helps,
>
> Luke
> Microsoft Online Support
>
> Get Secure! www.microsoft.com/security
> (This posting is provided "AS IS", with no warranties, and confers no
> rights.)
>
>
>



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Server did not recognize the value of HTTP Header SOAPAction =?Utf-8?B?TWlndWVsIElzaWRvcm8=?= ASP .Net 2 05-25-2007 10:41 PM
.Net service to .Net client : Server did not recognize the value of HTTP Header SOAPAction: . Matt Greer ASP .Net Web Services 2 02-06-2004 11:26 AM
Adding a new web method gets me the "Server did not recognize the value of HTTP Header SOAPAction" error Steve Evans ASP .Net Web Services 2 01-20-2004 06:09 AM
Unhandled exception: Server did not recognize the value of HTTP Header SOAPAction Hazzard ASP .Net Web Services 3 09-13-2003 01:51 PM
Server did not recognize the value of HTTP Header SOAPAction Juan Rodriguez ASP .Net Web Services 0 08-28-2003 02:44 PM



Advertisments