gpt4 book ai didi

.net - 为什么我突然在 .NET Web 服务中看到字节顺序标记?

转载 作者:行者123 更新时间:2023-12-03 03:02:09 25 4
gpt4 key购买 nike

我编写了一个 ASMX Web 服务,该服务已在生产环境中运行多年。今天,Java 客户端在尝试解析响应时突然抛出错误。我们追踪到出现在 XML 声明之前的 BOM(字节顺序标记):

HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: text/xml; charset=utf-8
Content-Encoding: gzip
Expires: -1
Vary: Accept-Encoding
Server: Microsoft-IIS/7.0
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
MicrosoftSharePointTeamServices: 12.0.0.6300
Date: Wed, 22 Jun 2011 19:59:49 GMT
Content-Length: 3629

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap...

该代码已经一年多没有更改了。 Web 服务在 IIS 中的 MOSS 2007 站点下运行,正如您从上面的 HTTP header 中看到的那样,但有自己的 web.config。

据我们所知,服务器的配置没有发生任何重大变化,但肯定发生了一些变化。有什么想法可能导致这种情况吗?

如果我们无法追踪并恢复更改,下一个问题是,我可以在代码中修复此问题吗?

这是一个普通的 ASMX Web 服务,其 .asmx 文件如下所示:

<%@ WebService Language="c#" Codebehind="MyStuff.asmx.cs" Class="MyStuff.MyService" %>

和 .asmx.cs 文件如下所示:

public class MyService : System.Web.Services.WebService {
...

[WebMethod(CacheDuration = 30, Description = "This does something", MessageName = "GetMyStuff")]
public XmlDocument GetMyStuff(string param) {
return doGetStuff(param)
}
private XmlDocument doGetStuff(string param) {
...
}
}

我见过some posts其中讨论了 BOM 问题,但由于我只是返回一个 XML 文档,并且框架正在负责流回客户端,因此我不确定是否可以对此做任何事情。

更新:我发现我们的阶段服务器上不存在 BOM 问题。另一个线索可能是;当soapUI显示来自产品的原始响应时,它具有BOM并且SOAP XML看起来是格式化的(多行和缩进)。当我在舞台上看时,没有 BOM,整个响应都在一行上。所以其他的也随BOM一起添加。

最佳答案

跟踪问题至 web.config 中的以下条目:

   <webServices>
<soapExtensionTypes>
<add type="Cognos.Portal.Services.SoapPatchExtension, Cognos.BI.WebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cb3c72729d0875cd" priority="1" group="0" />
</soapExtensionTypes>
</webServices>

这是作为 Cognos Web Part 推出的一部分添加的配置,然后被注释掉。由于某种原因,SharePoint 决定将其放回原处。

Further reading建议修复“升级到 IBM Cognos Business Intelligence 10.1 Fix Pack 1”。

此外,用户同时报告称 SharePoint 的在数据表中编辑导出到 Excel 功能出现故障。 It's the same root cause .

关于.net - 为什么我突然在 .NET Web 服务中看到字节顺序标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6446335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com