我现在在测试版本时用的是访问一个WebService,但是当发布正式版本时,相应的服务器IP会发生变化,请问怎么解决,急!在线等!

解决方案 »

  1.   

    用WSDL 产生webservices 的代理
    可以动态设置 url的
      

  2.   

    请问falx2004,具体怎么实现,谢谢!
      

  3.   

    我也关心下这个问题!
    发布带web服务的网站要怎么发布?
      

  4.   

    开始->程序->Microsoft visual studio 2005 ->visual studio 2005 命令提示
    输入 wsdl + 现有的webservices地址
    会对应的产生一个CS文件 这个就是这个webservices的代理类
    你可以通过修改构造函数的方式 在实例化代理类的时候 改这个类里面的URL
      

  5.   

    用WSDL 产生webservices 的代理 
    可以动态设置 url的嗯,我也是用这种方式
      

  6.   

    产生的webservices的代理类是可以动态设置url的
      

  7.   

    以前写的调用webservice测试  楼主可以参考看看    public string GetBodyXML(Hashtable Body, string ServiceName, string ServiceUrl)
            {
                string soapBody;
                soapBody = "<soap:Body>";
                soapBody += "<" + ServiceName + " xmlns='" + ServiceUrl + "'>";
                foreach (DictionaryEntry de in Body)
                {
                    soapBody += "<" + de.Key + ">" + de.Value + "</" + de.Key + ">";
                }
                soapBody += "</" + ServiceName + ">";
                soapBody += "</soap:Body>";
                return soapBody;
            }
            private void SendSOAP(string SoapXml, string Url,string SeverSpace)
            {
              
                byte[] soapXML = Encoding.UTF8.GetBytes(SoapXml);
                HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(Url);
                webrequest.Method = "POST";
                webrequest.ContentType = "text/xml; charset=utf-8";
                webrequest.Headers.Add("SOAPAction: "+ SeverSpace );
                webrequest.ContentLength = soapXML.Length;            Stream requestStream = webrequest.GetRequestStream();
                requestStream.Write(soapXML, 0, soapXML.Length);
                WebResponse responce = webrequest.GetResponse();
                Stream s = responce.GetResponseStream();
                StreamReader sr = new StreamReader(s);
                string Mess = sr.ReadToEnd();
                DataSet ds = new DataSet();
                byte[] byt = System.Text.Encoding.UTF8.GetBytes(Mess);
                MemoryStream stream = new MemoryStream(byt);
                ds.ReadXmlSchema("HelloWorld.xsd");
                ds.ReadXml(stream);
                requestStream.Close();
                stream.Close();        }        private void button6_Click(object sender, EventArgs e)
            {
                Hashtable  body = new Hashtable();
                //body.Add("StartTime", "2000-10-10");
                //body.Add("EndTime", "2012-10-10");
                string ServiceName = "HelloWorld";
                string ServiceUrl = "http://192.168.1.192:8080/webserver/";
                string XML = GetSoapXml(body, ServiceName, ServiceUrl);
                SendSOAP(XML, "http://192.168.1.192:8080/", "http://tempuri.org/HelloWorld.xsd/"+ServiceName);
            }