Web服务客户端应用程序

时间:2012-01-06 20:07:37

标签: c# web-services

我的名字是Edward Chairez,我现在是西德克萨斯A& M大学的学生。无论如何,我的问题是,如何在ASP.net中创建一个c#web服务cleint应用程序。我在一个捕获风数据的研究所工作;从https://www.hobolink.com/检索这些数据然后将这些数据转换成带有图表,平均值等的X-cel表...但是最近,我的老板问我是否参与了一个具有挑战性的项目,我说是的。该项目包括创建一个Web服务客户端应用程序,以从HOBOlink服务器检索数据,该服务器从Onset HOBO数据记录器中检索数据。

HOBOlink®WebServices API是一个应用程序编程接口,使组织能够轻松地将来自Onset HOBOlink Web服务器的能源和环境数据与自定义软件应用程序集成。它将被一系列用户使用,从建筑能源仪表板供应商到希望将OnsetHOBO®U30监控系统的实时天气数据嵌入基于网络的门户的开发人员。 HOBOlink Web服务API支持简单对象访问协议(SOAP)和代表性状态转移(REST)体系结构。可以通过Web服务以CSV格式或SensorML(传感器模型语言)格式提取数据,具体取决于用户选择的Web服务类型。

我的问题是,如何在c#中创建此应用程序? 我是否使用可视工作室来创建它?如果是这样,我该怎么做呢,是一个控制台应用程序吗?

这是我从Hobo开发人员那里得到的一些代码,当然没有凭据是正确的:

using System;
using System.Collections.Generic;
using System.Text;

namespace TestWebServices2
{
    class TestSensorObservationServiceFull
    {

        static void Main(string[] args)
        {

            // Development            
            SensorObservationService stub = new SensorObservationService("https://webservice.hobolink.com:missing some information here due to rules and privacy");

            // Stable
            //SensorObservationService stub = new SensorObservationService("https://webservice.hobolink.com/axis2/services/SensorObservationService");

            SosGetObservationRequestFull req = new SosGetObservationRequestFull();
            req.auth = new Authentication();
            req.auth.token = "privacy";
            req.auth.user = "privacy";
            req.auth.password = "privacy";
            string[] serialNumbers = {"privacy"};
            req.serialNumbers = serialNumbers;
            req.timePeriod = new TemporalFilter();
            req.timePeriod.@operator = "During";
            req.timePeriod.time = new TimePeriod();
            req.timePeriod.time.start = new DateTime(2009, 3, 3, 13, 0, 0);
            req.timePeriod.time.end = new DateTime(2009, 3, 3, 14, 0, 0);
            req.timePeriod.time.startSpecified = true;
            req.timePeriod.time.endSpecified = true;
            try
            {
                String result = stub.GetObservationFull(req);
                Console.WriteLine("The result is: " + result);
            }
            catch (Exception e)
            {
                Console.WriteLine("Error: " + e);
            }
        }

    }
}

请帮帮我,带我走完这些步骤,我不需要做这个项目,但我相信这对我来说是一次很棒的体验!

感谢

1 个答案:

答案 0 :(得分:0)

是否有可能删除了一些引用?或者顶部的一些使用语句被删除了?无论你是否删除它们,它们都会消失。尝试添加它们。你需要System.web。如果这不起作用,请尝试将所有项目的“目标框架”设置为相同。