Quadwwchs
Quadwwchs

Reputation: 1425

WCF Basichttpbinding 400 error

I'm using Fiddler to post a soap request to my web service. I've captured the request from the service when using a console app client (with service reference proxy). The request via the service reference client works fine. However when I use the same request data in fiddler I get a 400 bad request error. The request data i'm using in fiddler is below. Any guidance would be great!

    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header>
    <To s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://localhost:51909/Service1.svc</To>
    <Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://tempuri.org/IService1/Test</Action>
  </s:Header>
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <Test xmlns="http://tempuri.org/">
      <request>
        <Data xmlns="http://www.hr-xml.org/3">
          <Position>
            <DocID>1234556677</DocID>
          </Position>
        </Data>
      </request>
    </Test>
  </s:Body>
</s:Envelope>

using the following content headers in fiddler

Content-Length: 786 Content-type: text/xml SoapAction: http://tempuri.org/Service1/Test

EDIT: I found the exact error but i'm not sure what it means. The error is Addressing Version 'AddressingNone (http://schemas.microsoft.com/ws/2005/05/addressing/none)' does not support adding WS-Addressing headers. Any ideas?

Upvotes: 0

Views: 5250

Answers (1)

Brady
Brady

Reputation: 273

It looks like your MessageVersion on your Service is not set to accept WS-Addressing. You will have to remove the Soap Header "To" and "Action" or set your MessageVersion to allow for WS-Addressing.

http://msdn.microsoft.com/en-us/library/system.servicemodel.channels.messageversion.aspx

If this does not help please post your service configuration.

Upvotes: 1

Related Questions