无法从WSDL中找到类型

时间:2016-02-18 10:10:57

标签: c# web-services wsdl

我正在尝试使用以下Web服务以获取在线测验结果列表。不幸的是,提供商的帮助还没有到来。他们的其他网络服务对我们来说很好;正是这个我们正在努力的。

https://opendoor.lg.lumesse.com/webservices/services/LearningStatusRecords?wsdl

本手册指定以下内容:

  

“LearningStatusRecords”服务包括两种方法:

     
      
  1. FetchLearningStatusRecords
  2.   
  3. AcknowledgeLearningStatusRecords主要功能由'FetchLearningStatusRecords'方法处理。
  4.         

    回复回复:

         
        
    1. 最多1000条记录,包含用户信息,活动信息,结果和相关日期,

    2.   
    3. 标记是否有更多要检索的记录,

    4.   
    5. 检索到的记录的唯一标记(如果没有检索到记录,则没有标记)

    6.   

如果我正确地遵循WSDL文件,应该有一个我可以实例化的对象LearningStatusRecords,但IntelliSense没有显示:

enter image description here

我可以实例化FetchLearningStatusRecordsRequest,并可以访问手册描述的属性,但无法找到将该请求与响应相关联的任何方法。

我读到的关于WSDL文件越多,就越容易混淆。我也看到web.config中的条目说有一些问题,但不确定是否会导致这个问题。

1 个答案:

答案 0 :(得分:2)

好的,我明白了:

尝试对此进行测试并通过:

using ServiceReference1;

public class ServiceTestClass
{
    public ServiceTestClass()
    {
        using (var client = new LearningStatusRecordsPortTypeClient())
        {
             LearningStatusRecordsFetchResponse result1 = client.FetchLearningStatusRecords(
           new LearningStatusRecordsFetchRequest());

               foreach (LearningStatusRecord lsr in result1.LearningStatusRecordsList)
                {
                    Console.WriteLine(lsr.RecordStatus);
                }

           LearningStatusRecordsAcknowledgeResponse result2 =  client.AcknowledgeLearningStatusRecords(
                new LearningStatusRecordsAcknowledgeRequest());
        }
    }
}

将wsdl添加到ServiceReference时您可以看到此示例中的cilent类的类型为LearningStatusRecordsPortTypeClient

enter image description here