我在尝试访问ISA防火墙2004后面的WCF服务时遇到问题。显然我的Windows客户端在使用缓冲模式时可以连接和接收数据,但在使用流模式时却不能。
我得到的错误是400 Bad Request - 不支持的标头,所以我不确定Streaming模式添加到导致此问题的邮件头。我在缓冲模式下成功使用了MessageContract类,但在流模式下没有。我需要使用MessageContract类来传输流以及其他信息。当我将WCF服务站点放入一个不受ISA(2004或其他)保护的机器,或者当我访问它并从我们的局域网中使用它的方法时,它工作正常。我正在使用基本的http绑定和MTOM进行流式传输。
还有其他人有这个问题吗?可能是因为ISA防火墙2004支持WCF有点老了吗?
答案 0 :(得分:2)
我意识到这是一个古老的问题,但它被多次查看,但仍然没有答案......我遇到了类似的问题,不得不修补一下,让它在ISA上运行。在我的情况下,ISA不是ISA 2004,因为它是在你的情况下...我在TMG上设置它。但它们非常相似,所以这可能仍然有用/相关。
我可以确认传输级加密和消息级加密都可以通过ISA防火墙正常工作。我在这里写了一篇快速的帖子http://www.run-corp.com/how-to-configure-wcf-application-on-microsoft-isa-tmg-firewall/。但是,http://msdn.microsoft.com/en-us/library/ms733137.aspx表示消息级安全性不支持消息流...
尝试设置您的ISA规则,就像我在文章中所提到的那样(上面的第一个链接)。
如果您还没有继续 - 您是否正在使用邮件安全性,是否可以实现传输安全性?传输级安全性更好恕我直言,因为它完全隐藏了第4层的所有内容,而邮件安全只加密实际的序列化XML部分,以明文形式保留有关服务端点的信息。