我调用别人的webservice,但是这个webservice是内网的,我电脑不在内网,visual studio 2008添加不了这个服务引用。
这个有什么办法解决吗?
我的服务以后是安装在那个webservice所在内网上的。
谢谢!

解决方案 »

  1.   

    没什么好的办法,要么把别人的webservice暴露给外网,要你在他的内网,要么把他的webservice先迁移到你的内网。
      

  2.   

    关键是 WS能够 通过 http://访问到就可以引用到,所以这不是WS的问题 
    是网络的问题
      

  3.   

    遇到一个问题,我在内网电脑上调用那个webservice的时候有IcomReceivewsPortTypeClient这个类,但是我在外网的vs里模拟谢了一个webservice,添加服务引用以后,命名空间里却没有这个类,而且app.config里面的几个关键属性值都不一样。
    请问这个怎么解决啊?
    是直接修改app.config这个文件就可以了还是要修改我的webservice啊
      

  4.   

    没什么好的办法,要么把别人的webservice暴露给外网,要你在他的内网,要么把他的webservice先迁移到你的内网。
      

  5.   

    我现在就是在我内网上模拟一个webservice。
    我上次去他的内网,直接在vs里添加了这个服务引用。然后实例化IcomReceivewsPortTypeClient这个类,然后在调用这个类里的一个方法,但是我现在模拟了一个webservice,没有IcomReceivewsPortTypeClient这个类,而是有Service1SoapClient这个类。
    请问这是什么原因啊?
    很急啊!大家帮忙看看。谢谢了!
      

  6.   

    很简单,让对方,给你WebService的WSDL给你,你可以根据这个WSDL生成代理类,然后就可以直接调用这个代理类就可以实现,对这个WEBService的访问了
      

  7.   

    我有这个wsdl,请问怎么生成代理类啊?我现在是添加服务引用的。
    http://192.168.19.23:8086/sin/productplatformws?wsdl
      

  8.   

    手动生成WebService代理类的简单办法
    http://www.cnblogs.com/lowerai/archive/2008/12/12/1353502.html.net自带wsdl.exe的用法与参数说明 
    http://www.cnblogs.com/xiaobaidhg/archive/2007/04/11/707956.html
      

  9.   

    服务引用的那么多文件里,其实,被使用的也就是一个Referer.cs的代理类,所以只要你手动生成了这个代理类,就可以不用服务引用,当你生成代理类之后,添加一个自定义的构造函数,这个构造函数,接收一个WebService的Url,并赋值给this.Url,这样,调用这个代理类的时候,就会访问这个Url的WebService了
      

  10.   

    参考:http://hi.csdn.net/link.php?url=http://blog.csdn.net%2Fjijunwu
    引用名指 Web引用名
      

  11.   

    我看了你的博客 有一篇介绍webservice引用的文章 好像不是我要的答案
    我现在遇到的问题是:我当时在内网引用过这个webservice,设置了命名空间Test,代码里面调用的时候Test.ClassA。
    但是我刚才在本地模拟谢了一个webservice,我引用这个webservice,命名空间同为设为Test,但是Test里的类不是ClassA。
    等以后我修改一下app.config里的ip,把代码拿到内网是运行,肯定也还是报错了。因为没有ClassA