其实Web Service Client所作的事情也没什么神秘的,只不过是以SOAP协议格式通过HTTP/HTTPS传递函数调用参数而已(对于Get/Post Client也差不多,只是协议格式不同)。所以,完全可以根据你自己的服务的WSDL也出一个URL可定制的client proxy来。这个proxy如果使用soap的话,应该从SoapHttpClientProtocol继承,通过Invoke调用远程方法。一种更简单的方法是用wsdl.exe生成proxy源代码,然后稍微修改以下(使URL属性可定制)。
  不过,Web Service的功能之一是隐藏远程调用这个事实,使得远程服务的调用和本地调用使用非常近似的界面,如果要用户输入URL/IP,是违背Web Service初衷的。如果能够通过编程利用UDDI/DISCO定位服务,应该会更好一些。

解决方案 »

  1.   

    感谢使用微软产品在服务器端创建了Web Service以后,可以通过wsdl.exe工具生成客户端的Proxy代码。该代码中的类是从System.Web.Services.Protocols.SoapHttpClientProtocol继承的,它有一个公共的属性Url,您可以通过修改这个属性,在客户端实现动态指定服务器地址。======================
    - 微软全球技术中心VC技术支持本贴子仅供CSDN的用户作为参考信息使用。其内容不具备任何法律保障。您需要考虑到并承担使用此信息可能带来的风险。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
    为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
    ======================
      

  2.   

    感谢您的回答,我回家试验了一下,Good,这样我对Web Service的理解更深入了一步