2

嗨,我是“SSRS”和网络服务的新手,我正在尝试从 SSRS 报告中调用网络服务。我有一个生成条形码的网络服务。我希望条形码显示在报告中,所以我从 ssrs 调用 Web 服务方法。

方法是

[OperationContract]
Image BarcodeTextToImage(string value);

我正在使用 Web 服务 URL 将表达式集上的 ssrs 中的方法调用为图像控件,如下所示,

=Parameters!BarcodeURL.Value +"?value=" + CStr(Parameters!JobNumberFilter.Value)

BarcodeURL 在哪里设置为

 http://localhost/barcode/DataMatrix.svc/BarcodeTextToImage

但我没有得到任何输出并收到两个警告,

1) [rsInvalidImageReference] The Value for the image ‘Image3’ is invalid. Details: The remote server returned an error: (400) Bad Request.
2) [rsInvalidExternalImageProperty] The value of the ImageData property for the image ‘Image3’ is “”, which is not a valid ImageData.

现在我尝试更改 Web 服务的配置文件以将其更改为 webHttpBinding 仍然是同样的问题。任何链接和答案都会很棒。

4

1 回答 1

1

前段时间我遇到了同样的问题,所以我解决了这个问题,我希望这对你也有用。

1) 首先,我使用创建的 Web 服务的服务引用创建了 Web 应用程序,假设 Barcode39 是服务,因此添加对 Web 应用程序的引用。2)然后使用服务客户端编写代码,并调用方法通过传递请求变量值在该代码中创建条形码图像 3)现在将该页面的链接作为图像表达式的 URL 以及设置图像类型作为“EXTERNAL”并将值作为请求变量传递给 URL

 "http:\\localhost:2310\BarcodeImage.aspx?data=" +(Parameters!YourParamtere.Value)

还有一件事不是从服务返回图像,而是尝试使用stream.ToArray()方法返回字节数组,这将是最佳实践。如果有任何问题,请告诉我。

于 2013-08-16T07:19:01.437 回答