none
调用WCF服务错误? RRS feed

答案

  •  看你的服务器部署在哪里啊,局域网的话,计算机名字或许能找到计算机。
    如果是公网的话,需要域名绑定了。固定IP其实是最有效的方式,不会因为DNS问题导致不能找到服务器。
    你在尝试一下~
    Frank.Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    老徐的博客:http://frank_xl.cnblogs.com
    • 已标记为答案 yjss 2009年7月3日 7:27
    2009年7月3日 4:39
    版主

全部回复

  • hi,
       你的这个错误,显然的原因是请求的的该终结点地址的服务无效,或者不存在。
    你可以检查一下:
    1.服务是否可以正常启动;
    2.服务的端口是否正确,这里应该有个端口在IP:PORT;
    3.IIS托管的80端口是否被占用,你给服务设置一个端口如10001,没被使用的端口,然后客户端请求地址加上端口试验一下;
      你先看看还有什么问题,不行的话继续留言讨论~
    这些文章你可以参考:
    1.客户端调用服务的终结点地址的路径问题的测试(IIS托管WCF服务程序):http://social.microsoft.com/Forums/zh-CN/wcfzhchs/thread/4ce24ea1-ece5-423d-b07b-a39692895b72;这个详细做了各种地址的配置测试。李培的帖子。
    2.WCF分布式开发常见错误解决(9):无终结点监听,There was no endpoint listening at .
    Frank.Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    老徐的博客:http://frank_xl.cnblogs.com
    2009年7月2日 14:16
    版主
  • 在服务器上进行本机访问也是完全正常的!但在客户端访问就会有这个问题?

    在IE中访问http://www.域名.com/文件名.svc

    返回如下结果:

    文件名服务


    已创建服务。

    若要测试此服务,需要创建一个客户端,并将其用于调用该服务。可以使用下列语法,从命令行中使用 svcutil.exe 工具来进行此操作:


    svcutil.exe http://服务器计算机名/文件名.svc?wsdl

     

    这将生成一个配置文件和一个包含客户端类的代码文件。请将这两个文件添加到客户端应用程序,并使用生成的客户端类来调用服务。例如:

    C#

    class Test
    {
        static void Main()
        {
            文件名 client = new 文件名();
    
            // 使用 "client" 变量在服务上调用操作。
    
            // 始终关闭客户端。
            client.Close();
        }
    }
    

    Visual Basic

    Class Test
        Shared Sub Main()
            Dim client As 文件名= New 文件名()
            ' 使用 "client" 变量在服务上调用操作。
    
            ' 始终关闭客户端。
            client.Close()
        End Sub
    End Class

    是不是这个地方有错误 svcutil.exe http://服务器计算机名/文件名.svc?wsdl 怎么会是服务器的计算机名呢,应该是域名才对吧?
    • 已编辑 yjss 2009年7月3日 1:47
    2009年7月3日 1:43
  •  看你的服务器部署在哪里啊,局域网的话,计算机名字或许能找到计算机。
    如果是公网的话,需要域名绑定了。固定IP其实是最有效的方式,不会因为DNS问题导致不能找到服务器。
    你在尝试一下~
    Frank.Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    老徐的博客:http://frank_xl.cnblogs.com
    • 已标记为答案 yjss 2009年7月3日 7:27
    2009年7月3日 4:39
    版主
  • 问题解决,楼上正解,将endpoint 的 address 设置一下就行了,svcutil.exe http://服务器计算机名/文件名.svc?wsdl 只要能正确获取到元数据,这里的地址不正确,不会影响服务工作

    2009年7月3日 7:27
  • 问题解决,楼上正解,将endpoint 的 address 设置一下就行了,svcutil.exe http://服务器计算机名/文件名.svc?wsdl 只要能正确获取到元数据,这里的地址不正确,不会影响服务工作


    hehe,这个问题部署的WCF服务的时候很容易出问题啊,尤其地址的问题导致的服务错误~
    Frank.Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    老徐的博客:http://frank_xl.cnblogs.com
    2009年7月3日 10:23
    版主
  • 问题解决,楼上正解,将endpoint 的 address 设置一下就行了,svcutil.exe http://服务器计算机名/文件名.svc?wsdl 只要能正确获取到元数据,这里的地址不正确,不会影响服务工作


    老兄,你咋配置的能贴出来看看吗?我也折腾了好几天了,还没搞定如何在外网上发布wcf.
    2010年5月15日 8:35
  • 问题解决,楼上正解,将endpoint 的 address 设置一下就行了,svcutil.exe http://服务器计算机名/文件名.svc?wsdl 只要能正确获取到元数据,这里的地址不正确,不会影响服务工作


    老兄,你咋配置的能贴出来看看吗?我也折腾了好几天了,还没搞定如何在外网上发布wcf.

    你的服务部署以后,本地能看到吗?IIS托管?
    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    欢迎访问老徐的博客:Welcome to My Technical Blog
    欢迎访问老徐的网站:Welcome to My Website
    欢迎访问微软WCF中文技术论坛:Welcome to Microsoft Chinese WCF Forum
    欢迎访问微软WCF英文技术论坛:Welcome to Microsoft English WCF Forum
    2010年5月15日 13:39
    版主