Tôi có báo cáo SSRS 2005 mà tôi muốn sử dụng dịch vụ web để truy xuất một số dữ liệu. Webservice này sẽ có một vài tham số.SSRS 2005 - Dữ liệu webservice XML - các thông số không được chuyển đến webservice
Là một thử nghiệm tôi thiết lập một dự án trình diễn webservice rất đơn giản trên môi trường địa phương của tôi:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
public Service() {}
[WebMethod]
public int DivideByTwo(int numberIn) {
return numberIn/2;
}
}
báo cáo thử nghiệm của tôi sau đó có một Dataset sử dụng một nguồn dữ liệu XML, với (localhost) URL của webservice trong chuỗi kết nối.
Trong chuỗi truy vấn của dataset Tôi có những điều sau đây, dựa trên MS tài liệu (http://msdn.microsoft.com/en-us/library/aa964129(SQL.90).aspx):
<Query>
<SoapAction>http://tempuri.org/DivideByTwo</SoapAction>
<Method Namespace="http://tempuri.org/" Name="DivideByTwo" />
<Parameters>
<Parameter Name="NumberIn">
<DefaultValue>100</DefaultValue>
</Parameter>
</Parameters>
<ElementPath IgnoreNamespaces="True">*</ElementPath>
</Query>
Vấn đề tôi đang gặp là, mặc dù các webservice được kích hoạt, các tham số không phải là được chuyển đến webservice và do đó giá trị trả về luôn là 0. Tôi đã sửa lỗi webservice và đặt một điểm ngắt trong phương thức DivideByTwo() và khi cuộc gọi webservice được kích hoạt từ báo cáo và điểm ngắt được nhấn, giá trị numberIn luôn luôn là 0 bất kể những gì tôi đặt trong phần tử của XML truy vấn.
Tôi cũng đã cố gắng chỉ định thông số "NumberIn" trong tab "Tham số" của hộp thoại Tập dữ liệu (với giá trị được cung cấp) và xóa phần tử khỏi XML truy vấn - kết quả giống nhau.
Tôi đã tìm thấy một số bài đăng trên web phác thảo cùng một vấn đề nhưng dường như không thể tìm ra giải pháp và đã xé tóc ra trong vài giờ qua. Bất kì sự trợ giúp nào đều được đánh giá cao.
Bạn có lỗi đánh máy nhỏ. Vì các tham số phân biệt chữ hoa chữ thường nên truy vấn của bạn phải là. Tôi đang gặp một vấn đề tương tự với các thông số không nhận được thông qua với tất cả các trường hợp chính xác .. không chắc chắn đó là vấn đề nhưng đáng thử. –
DavveK
Cảm ơn DaweK.Tôi hỏi điều này khá lâu trước đây nhưng tôi nghi ngờ đó là vấn đề vì vấn đề dường như chỉ 'biến mất' sau một thời gian và tôi không thể xác định những gì tôi đã làm để khắc phục vấn đề. – Michael