高分求pb11.5经过代理服务器调用webservice源码

高分求pb11.5通过代理服务器调用webservice源码
本帖最后由 michaelmou 于 2009-10-09 17:07:00 编辑
直接可以调用,现求通过代理服务器调用源码,先谢了,急!
------解决方案--------------------


//webservice实例化
WebService objService = new WebService();
string strDomain = ConfigurationSettings.AppSettings["domain"].ToString();
//判断是否启用代理服务器
if (strDomain.Trim() != "")
{
//域访问名
    string strUserName = ConfigurationSettings.AppSettings["UserName"].ToString();
//域访问密码
    string strPassWord = ConfigurationSettings.AppSettings["PassWord"].ToString();
//代理地址
    string strHost = ConfigurationSettings.AppSettings["Host"].ToString();
//代理端口
    int strPort = Convert.ToInt32(ConfigurationSettings.AppSettings["Port"].ToString());
//设置代理
    System.Net.WebProxy oWebProxy = new System.Net.WebProxy(strHost, strPort);
// 获取或设置提交给代理服务器进行身份验证的凭据
    oWebProxy.Credentials = new System.Net.NetworkCredential(strUserName, strPassWord, strDomain);
objService.Proxy = oWebProxy;
//window程序通过代理访问webservice方法GetData
    DataSet dst = objService.GetData();
}


------解决方案--------------------
没做过,看上去也许应该大概是这样
引用:
每次我都想问,你的手册是装饰品吗?
SoapConnection 类普通就有SetProxyServer方法

------解决方案--------------------
我还是那句话,你们的手册永远是装饰品……ll_result = i_conn.setproxyserver( '148.233.159.58', 80, ls_id, ls_pass) 
这个的第一个参数必须写成http://hostname的形式,开头5个字母不能省略。
顺便说一下,如果你的ws不需要验证就不要调用
ll_result = i_conn.setbasicauthentication( '', ls_id, ls_pass)