我一直在我自己的机器上运行 Web 服务代码以及客户端代码。它运行良好并设法接收从 Web 服务发送到客户端的 Dime 附件。
Web 服务使用 WSE 2.0 和 Dime 附件。客户端代码位于调用 Web 服务的同一台机器上。
但是,当我在 Windows 2003 R2 服务器上部署它时,在 ResponseSoapContext.Current.add(dimeAttachment) 行上,由于 ResponseSoapContext.Current 对象为空,它失败了。
正如我在它试图做某事的日志中看到的那样,客户端代码已经成功地调用了 Web 服务。
是否会有防火墙阻止客户端代码从 Web 服务接收 Dime 附件?还是我缺少一个设置?这是代码:
DimeAttachment dimeAttach = new DimeAttachment(
"application/octet-stream", TypeFormat.MediaType,
streamObj);
if (ResponseSoapContext.Current != null)
{
ResponseSoapContext.Current.Attachments.Add(dimeAttach);
}
else
{
throw new Exception("The ResponseSoapContext.Current object is null");
}