Server did not recognize the value of HTTP Header SOAPAction


G

Guest

Hi,

I've built an ASP.NET 1.1 web service and an ASP.NET 1.1 application that
calls it
is throwing the following exception:

System.Web.Services.Protocols.SoapException: Server did not recognize the
value of HTTP Header SOAPAction: http://ipm.sitefactory.com/Authenticate. at
System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest() at
System.Web.Services.Protocols.SoapServerProtocol.Initialize() at
System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type,
HttpContext context, HttpRequest request, HttpResponse response, Boolean&
abortProcessing)

The web service class definition is:

[WebService(Namespace="http://ipm.sitefactory.com/")]
public class UserService : WebService
{
...
}

The web method definition is:


[WebMethod(Description="Web method description.")]
public User Authenticate(User user)
{
//code
}

I've checked the WSDL and the beginning is as follows:

<wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="http://ipm.sitefactory.com/"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
targetNamespace="http://ipm.sitefactory.com/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">

The reference to the web method in WSDL is:

<s:element name="Authenticate">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="user" type="tns:User" />
</s:sequence>
</s:complexType>
</s:element>

Like you see, the namespace http://ipm.sitefactory.com/ is present
everywhere correctly and I can't understand why the request is not being
routed to the right web method. Everything seems to be correct from the class
definition to the WSDL. Any suggestions?

Thanks in advance,
Miguel Isidoro
 
Ad

Advertisements

J

John Saunders [MVP]

Miguel Isidoro said:
Hi,

I've built an ASP.NET 1.1 web service and an ASP.NET 1.1 application that
calls it
is throwing the following exception:

System.Web.Services.Protocols.SoapException: Server did not recognize the
value of HTTP Header SOAPAction: http://ipm.sitefactory.com/Authenticate.
at
System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest() at
System.Web.Services.Protocols.SoapServerProtocol.Initialize() at
System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type,
HttpContext context, HttpRequest request, HttpResponse response, Boolean&
abortProcessing)
....

The reference to the web method in WSDL is:

<s:element name="Authenticate">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="user" type="tns:User" />
</s:sequence>
</s:complexType>
</s:element>

That is not a reference to the webmethod. It is the definition of an XML
element. Perhaps this XML element is intended to be sent to the server, and
perhaps even to the Authenticate method, but the above XML does not define
the Authenticate method (operation in WSDL terminology), and doesn't say
that this element is part of the message handled by the operation.

Look at the rest of your WSDL, in the <wsdl:binding/> and <wsdl:portType/>
sections.
 
Ad

Advertisements

G

Guest

Maybe the termonology is incorrect. I have the web service working at my
development machine and in other web servers. However in this one, not. I
compared the WSDL generated in the development machine and in the erroneous
web server and they are exactly the same. I even analysed the client proxy
class and the namespace I defined is correct. So the info that is being
passed by the client is the one expected by the server. I don't have the WSDL
now so I won't be able to check it until monday but with all that I described
before can you figure out a reason for this behavior?

Thanks
Miguel
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top