共用方式為


A POX on Us

In the recent CTP we added a new feature to WCF so that we work better with POX/REST scenarios.  On the HttpTransportBindingElement there's a knob called MappingMode that lets you configure how we'll process HTTP headers.  By default, if you receive a message over HTTP with an empty body, we discard the message, headers and all, since a SOAP message with no content isn't interesting.  That's not what you want for REST, where you can extract interesting information from the response headers of the message even if there's no body.  We added the ability to set MappingMode to AnyXml in the February CTP, which preserves messages without a body for your inspection.

Good so far?  Now, the reason I'm writing this post.

Unfortunately, there's a bug in this new feature.  Using AnyXml on the client side works fine.  Using AnyXml on the server side causes clients to be dropped with HTTP 500 Internal Server Error messages.

That's bad.

The workaround is to use AnyXml on the client side if you need it, but for now, use the Soap mapping mode on the server side.

We will definitely fix this bug prior to release so that the right way to build a RESTful service is to use AnyXml on both the client and server.

Comments

  • Anonymous
    March 10, 2006
    Last week I announced a newly introduced bug in our newly introduced REST support that was causing some...
  • Anonymous
    August 21, 2006
    We’ve been looking at the mystery of why one-way messages stop working when you turn on the POX message...
  • Anonymous
    October 17, 2006
    We’ve been looking at the mystery of why one-way messages stop working when you turn on the POX message