Server did not recognize the value of HTTP Header SOAPAction

Discussion in 'ASP .Net' started by =?Utf-8?B?TWlndWVsIElzaWRvcm8=?=, May 25, 2007.

  1. 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
     
    =?Utf-8?B?TWlndWVsIElzaWRvcm8=?=, May 25, 2007
    #1
    1. Advertising

  2. "Miguel Isidoro" <> wrote in message
    news:...
    > 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.
    --
    John Saunders [MVP]
     
    John Saunders [MVP], May 25, 2007
    #2
    1. Advertising

  3. 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

    "John Saunders [MVP]" wrote:

    > "Miguel Isidoro" <> wrote in message
    > news:...
    > > 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.
    > --
    > John Saunders [MVP]
    >
    >
    >
     
    =?Utf-8?B?TWlndWVsIElzaWRvcm8=?=, May 25, 2007
    #3
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Juan Rodriguez

    Server did not recognize the value of HTTP Header SOAPAction

    Juan Rodriguez, Aug 28, 2003, in forum: ASP .Net Web Services
    Replies:
    0
    Views:
    161
    Juan Rodriguez
    Aug 28, 2003
  2. Hazzard
    Replies:
    3
    Views:
    221
    Hazzard
    Sep 13, 2003
  3. Steve Evans
    Replies:
    2
    Views:
    158
    Steve Evans
    Jan 20, 2004
  4. Matt Greer
    Replies:
    2
    Views:
    271
    chriso
    Feb 6, 2004
  5. Paul Turelinckx
    Replies:
    0
    Views:
    176
    Paul Turelinckx
    Feb 9, 2004
Loading...

Share This Page