博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

WSE3 and "Action for ultimate recipient is required but not present in the message."

I've been trying to access a web service using WSE3 from various clients and have been running into this message. I couldn't seem to make it go away, even though I clearly had an "action" element in my SOAP request. I finally wrote a small .NET application to access my web service and used Fiddler to intercept the traffic to see how on earth .NET managed to get around this issue itself. Turns out the answer is simple.

I had been setting up my WSA namespace like so:

xmlns:wsa="http://www.w3.org/2005/08/addressing"

.NET much prefers I do this:

xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"

I didn't need to change anything else, this basically did the trick.