解决:getWeatherbyCityName(city),服务器无法处理请求。 ---> 未将对象引用设置到对象的实例。

原文:getWeatherbyCityName(city),服务器无法处理请求。 ---> 未将对象引用设置到对象的实例。

解决方法:不要直接使用 “服务引用” , 添加为 “Web 引用”

       最近用C#在winform中做一个天气预报的小程序,在网上搜了很多资料,包括现成的程序,如http://blog.csdn.net/qishuangquan/article/details/6039287,但运行到getWeatherbyCityName(city),都会出错,提示服务器无法处理请求。 ---> 未将对象引用设置到对象的实例。在网上搜索该问题的原因,也没找到答案,怀疑.NET Framework版本的问题,换了3.0、3.5、4.0都一样,当然2.0是没有Service Reference的,但有Web Reference,在Web Reference上添加webservice地址,修改weathertest.Weather.WeatherWebServiceSoapClient w = new weathertest.Weather.WeatherWebServiceSoapClient("WeatherWebServiceSoap");为weathertest.Weather.WeatherWebService webc = new weathertest.Weather.WeatherWebService();调试居然成功了,后来想.NET Framework4.0中有没有Web Reference,在网上搜了下找到了,原来Web Reference需要这样设置才出现:

⑴在需要调用WebService的项目上,点击鼠标右键,选择添加Service Reference,进入'Add Service Reference‘界面

⑵点击'Advanced'按钮,进入'Service Reference Settings'界面

⑶点击'Add Web Reference'按钮,进入'Add Web Reference'界面

  ①在'URL'文本框中,填写需要引用的WebService的地址(例如:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx

  ②点击右边的绿色方框按钮,程序会自动前往给定的地址查找WebService服务

  ③在'Web Reference Name'文本框中,自定义此次添加的WebService的名称(例如:Weather)

  ④点击'Add  Reference'按钮,程序自动将找的WebService添加的当前的项目中,并自动放在Web References文件夹中.

自己写了个程序,测试成功,主要代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.ServiceModel;
using System.Runtime.InteropServices;

namespace weather2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                weather2.Weather.WeatherWebService webc = new weather2.Weather.WeatherWebService();
                string[] s = new string[23];//声明一个string数组存放其返回的结果
                string city = this.textBox1.Text.Trim();//获得文本框1的内容
                s = webc.getWeatherbyCityName(city);
                MessageBox.Show("西安气象:" + "\r\n" +"天气:" +s[6] + "\r\n" + "温度:" + s[5]);
            }
            catch (Exception e1)
            {
                MessageBox.Show(e1.ToString());
            }
        }
    }
}

测试图见下:

     回到”服务器无法处理请求。 ---> 未将对象引用设置到对象的实例“这个问题,估计是VS版本的问题,因为网上看人家用的是VS2008,但我用的是VS2010,不管怎么样,这个问题还是给了个交代,可以安照上面的方法访问天气WebService。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-09-10 18:30:16

解决:getWeatherbyCityName(city),服务器无法处理请求。 ---> 未将对象引用设置到对象的实例。的相关文章

VC 访问web service 出错!服务无法处理请求 未将对象引用设置到对象的实例

问题描述 ISoapSerializerPtrSerializer;ISoapReaderPtrReader;ISoapConnectorPtrConnector;//ConnecttotheserviceConnector.CreateInstance(__uuidof(HttpConnector));//WS服务器地址Connector->Property["EndPointURL"]="http://www.webxml.com.cn/webservices/qq

soap:Server服务器无法处理请求。 ---> 未将对象引用设置到对象的实例。

问题描述 在使用SAAJ调用http://WebXml.com.cn/中的web服务的时候,服务器返回"soap:Server服务器无法处理请求.--->未将对象引用设置到对象的实例."各位帮忙看一下问题出在哪里?附:调用自己用JAX-WS建立的WebService没有问题.代码如下:importjavax.xml.soap.MessageFactory;importjavax.xml.soap.MimeHeaders;importjavax.xml.soap.SOAPBody;

.net-c#调用webservice 服务器无法处理请求。 ---> 未将对象引用设置到对象的实例

问题描述 c#调用webservice 服务器无法处理请求. ---> 未将对象引用设置到对象的实例 "/"应用程序中的服务器错误. 服务器无法处理请求. ---> 未将对象引用设置到对象的实例. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.ServiceModel.FaultException: 服务器无法处理请求. ---> 未将对象引用设置到对象的

急需解决“未将对象引用设置到对象的实例”问题~~~

问题描述 我将光盘上的例子考到我自己的机子上,按照说明上的指导,第一步,在SQLServer企业管理器里附加数据库,第二步,修改配置文件,两处,一个是服务器名,一个是访问密码.我用的是VS.NET2.0+SQLServer2000~在我运行的时候,出现下列问题~~未将对象引用设置到对象的实例.说明:执行当前Web请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息.驱六异常详细信息:System.NullReferenceException:未将对象

asp.net运行提示未将对象引用设置到对象的实例错误解决方法_实用技巧

未将对象引用设置到对象的实例 一.网络上的一般说法 1.ViewState对象为Null. 2.DateSet空. 3.sql语句或Datebase的原因导致DataReader空. 4.声明字符串变量时未赋空值就应用变量. 5.未用new初始化对象. 6.Session对象为空. 7.对控件赋文本值时,值不存在. 8.使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值. 9.使用FindControl时,控件不存在却没有做预处理. 10.重复定义造成未

“/”应用程序中的服务器错误。 未将对象引用设置到对象的实例。请大侠帮忙一下

问题描述 "/"应用程序中的服务器错误.未将对象引用设置到对象的实例.说明:执行当前Web请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息.异常详细信息:System.NullReferenceException:未将对象引用设置到对象的实例.源错误:执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息.堆栈跟踪:[NullReferenceException:未将对象引用设置到对象的

错误解决:System.NullReferenceException: 未将对象引用设置到对象的实例

在ASP.NET开发中,遇到System.NullReferenceException: 未将对象引用设置到对象的实例的错误提示,解决方法如下:       (1)所设置的变量为空值或没有取到值,一般出现在传递参数的时候出现这个问题,也会在使用datagrid或gridview或datalist等数据控件时出现. (2)控件名称与codebehind里面的没有对应 (3)未用new初始化对象 (4)在程序中所引用的控件不存在 解决方法: (1)使用try..catch...finally捕捉错误

计算机-未将对象引用设置到对象的实例解决方法?

问题描述 未将对象引用设置到对象的实例解决方法? 计算机-未将对象引用设置到对象的实例解决方法?-未将对象引用到实例"> 大概是这么一个图,有问题可以提问,我会回答,谁知道怎么弄,谢谢 解决方案 ?????? 很多时候在我们运行程序时,会出现"未将对象引用设置到对象的实例"这样的提示信息,就我个人遇到的情况而言,主要是在代码中重复定义了造成的,只要将其中一个删除就可以了.现将从网上收集的各种解决方法汇总如下: 第一种:重复定义造成未将对象引用设置到对象的实例错误 一般在

如何解决未将对象引用设置到对象的实例?

问题描述 如何解决未将对象引用设置到对象的实例? 解决方案 空指针异常,说明访问的那个对象为null 解决方案二: 不对,你这不是空指针,应该某个属性值没null,没有设置了