我是JAVA服务器端,winform客户端,当然这个并不重要。
当调用WebService的对象被实例化后,我更改他的url,然后通过Discover方法试图绑定URL结果报错,说地址下载下载“xxx”时出错。这里我的地址不加?wsdl提示错误为“XXX”时出错,若是加了?wsdl错误提示为:在URL“XXX”处找不到发现文档。
如果我不用Discover方法绑定,再次调用WebService方法时会报错为:客户端发现响应内容类型为“”,但应为“text/xml”,请求失败,响应为空!能给出动态更改WebService地址步骤就最好。
在线等,谢谢。
当调用WebService的对象被实例化后,我更改他的url,然后通过Discover方法试图绑定URL结果报错,说地址下载下载“xxx”时出错。这里我的地址不加?wsdl提示错误为“XXX”时出错,若是加了?wsdl错误提示为:在URL“XXX”处找不到发现文档。
如果我不用Discover方法绑定,再次调用WebService方法时会报错为:客户端发现响应内容类型为“”,但应为“text/xml”,请求失败,响应为空!能给出动态更改WebService地址步骤就最好。
在线等,谢谢。
代码贴出来你看看吧。1.Form窗体的后台代码,示例web引用类:private InPhase.Service wsInPhase = GetService();2.调用GetService方法,读取xml配置中的路径 public static ELab.InPhase.Service GetService()
{
ELab.InPhase.Service ws = new ELab.InPhase.Service();
try
{
XmlDocument doc = new XmlDocument();
doc.Load(Application.StartupPath + "\\config.xml"); XmlNode node = doc.SelectSingleNode("//WebServiceAddress");
string wsUrl = "";
if (null != node)
{
wsUrl = node.InnerXml.Trim();
}
ws.Url = wsUrl;
}
catch (FileNotFoundException notFile)
{
// MessageBox.Show("因缺少ws_config.xml配置文件,而无法找到Web站点的地址!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
// MessageBox.Show("访问Web站点时地址未找到!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
} return ws;
}就这样啦。
创建web引用时,最好给它建个默认地址,再用代码去修改。
http://www.abc.com/test/Service.asmx你的带wsdl,没用过就不知道啦。
在生成WS实例之后,MyWS.URL = 读取的WSURL配置
就可以正常用了.
每次发布只需要修改WINFORM的APP.CONFIG就可以.