SSRS 2005 – XML webservice数据集 – 未被传递到webservice的参数

我有一个SSRS 2005报告,我想使用一个webservice来检索一些数据。该Web服务将接收几个参数。

作为测试,我在当地环境中设置了一个非常简单的演示webservice项目:

[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;
    }   
}

然后,我的测试报告具有使用XML数据源的数据集,连接字符串中的webservice的(localhost)URL。

在数据集的查询字符串中,我有以下基于MS文档(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>

我遇到的问题是,尽管webservice被触发,参数没有被传递给webservice,因此返回值总是为0.我已经调试了webservice并在DivideByTwo()方法中放置了一个断点,并且当从报表触发webservice调用并且中断断点时,numberIn值总是为0,而不管我放在Query XML的元素中。

我还尝试在“数据集”对话框的“参数”选项卡中指定“NumberIn”参数(使用提供的值),并从查询XML中删除元素 – 结果是相同的。

我在网站上发现了一些帖子,概述了同样的问题,但似乎找不到解决方案,并且在过去几个小时内一直在撕裂我的头发。任何帮助将不胜感激。

正如DavveK所说,看起来它是一个简单的拼写错误,大小写参数。

您的服务定义正在寻找:

numberIn

而XML DataSet则提供:

NumberIn

作为您提到的文章,参数是区分大小写的。见http://msdn.microsoft.com/en-us/library/aa964129(SQL.90).aspx#8

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇