7

Tôi đã viết một dịch vụ web ASMX, đã hoạt động trong sản xuất trong nhiều năm. Ngày nay, tất cả các khách hàng Java đột nhiên đang ném lỗi khi cố gắng phân tích cú pháp phản hồi. Chúng tôi đã theo dõi nó xuống một BOM (Dấu đơn hàng) xuất hiện trước khai báo XML:Tại sao tôi lại thấy một Dấu đơn hàng Byte trong Dịch vụ Web .NET của tôi đột ngột?

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... 

Mã không thay đổi sau một năm. Dịch vụ web chạy dưới trang MOSS 2007 trong IIS, như bạn có thể thấy từ tiêu đề HTTP ở trên, nhưng có web.config riêng của nó.

Không có bất kỳ thay đổi lớn nào đối với cấu hình máy chủ, theo như chúng tôi có thể nói, nhưng nó phải là một cái gì đó. Bất kỳ ý tưởng gì có thể đã gây ra điều này?

Nếu chúng tôi không thể theo dõi và hoàn nguyên thay đổi, câu hỏi tiếp theo là, tôi có thể sửa lỗi này trong mã của mình không?

Đó là một dịch vụ web vani ASMX với file .asmx mà trông như thế này:

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

và .asmx.cs tập tin mà trông như thế này:

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) { 
     ... 
    } 
} 

Tôi đã nhìn thấy some posts mà nói về vấn đề BOM, nhưng kể từ khi tôi chỉ trả lại một tài liệu XML và khung công tác đang chăm sóc streaming trở lại cho khách hàng, tôi không chắc chắn nếu tôi có thể làm bất cứ điều gì về nó.

Cập nhật: Tôi thấy rằng các vấn đề BOM KHÔNG tồn tại trên máy chủ giai đoạn của chúng tôi. Điều gì có thể là một đầu mối khác là; khi soapUI hiển thị phản hồi thô từ sản phẩm, nó có BOM và XML SOAP có định dạng (đa dòng và thụt lề). Khi tôi nhìn vào sân khấu, không có BOM và toàn bộ câu trả lời là trên một dòng. Vì vậy, khác cũng đã được bổ sung với BOM.

+0

Cập nhật Windows? Tôi sẽ quay lại và xem lại * bất kỳ * thay đổi nào đối với máy chủ kể từ lần cuối được biết đến. –

+0

Chúng tôi đang cố gắng làm điều đó. Nó đã làm việc vào thứ ba. Hôm thứ Tư, các quản trị viên đã cài đặt một mẫu DocAv và IIS được phục hồi. –

+0

Thú vị. Tôi cũng thấy vấn đề này * đôi khi *, với biểu mẫu InfoPath. –

Trả lời

2

xích vấn đề xuống các mục sau đây trong 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> 

Đó là một cấu hình thêm vào như là một phần của một triển khai Cognos Web Part sau đó được nhận xét ra. Vì lý do nào đó, SharePoint đã quyết định đưa nó trở lại.

Further reading đề nghị sửa chữa là "Nâng cấp lên Gói khắc phục sự cố thông minh doanh nghiệp Cognos 10.1 của IBM 1."

Ngoài ra, đồng thời người dùng đã báo cáo rằng các tính năng Chỉnh sửa trong biểu dữ liệuXuất sang Excel của SharePoint đã bị hỏng. It's the same root cause.

Các vấn đề liên quan