在 Web 服务 WCF 中调用 Web 服务

Posted

技术标签:

【中文标题】在 Web 服务 WCF 中调用 Web 服务【英文标题】:Calling Webservice inside webservice WCF 【发布时间】:2014-08-23 10:01:23 【问题描述】:

我正在开发一个 SOAP 项目,其中包含:

C# 客户端 C# 服务器 (WCF) J2EE 服务器(带 web 服务)

在我的 C# 服务器 上,我有我的 service,我正在将 J2EE WSDL 添加到该项目以调用 J2EE 方法。

但我仍有问题。当我从包含 MAIN 的控制台应用程序调用 WSDL 时,它不会附加。

是否有限制或其他任何线索?

服务:

public class ClientRequest : IClientRequest
    
        public STG m_service(STG msg)
        
            var remoteJavaServer = new ServerServicesClient();
            remoteJavaServer.Open();
            Console.WriteLine("Result value for 2 square -> 0", remoteJavaServer.test(2));


            return msg;
        

        public int m_square(int i)
        
            Console.WriteLine("value input = "+i);
            return i*i;
        
    

控制台应用:

class Program
    
        static void Main(string[] args)
        
            var client = new ServerServicesClient();
            client.Open();
            Console.WriteLine("2 -> 0", client.test(2));
        
    

【问题讨论】:

假设“服务”是您的 WCF 服务,这可以工作。请包含有关您的“问题”的例外或更多详细信息。 这是问题:在 ServiceModel 客户端配置部分中找不到名称为“0”和合同“1”的端点元素。这可能是因为找不到您的应用程序的配置文件,或者因为在客户端元素中找不到与此名称匹配的端点元素。 查看您的服务的配置文件(web.config 如果是 web 托管,或者 someservicehost.exe.config 对于另一个服务主机)并将其与控制台项目中的 app.config 进行比较。该错误有点奇怪,因为通常将 0 和 1 替换为服务名称和服务接口的全名。您可能需要删除并重新添加服务引用,以确保当时没有任何警告或错误。 这可能是因为,“服务 WCF”实际上是一个库项目(托管在控制台应用程序上)。 【参考方案1】:

事实证明,只有我的“服务”库项目配置了端点以针对 WSDL。因此,我已将端点添加到主机控制台应用程序,现在它正在工作。

还是谢谢。

关闭。

【讨论】:

以上是关于在 Web 服务 WCF 中调用 Web 服务的主要内容,如果未能解决你的问题,请参考以下文章

无法从本地机器调用 WCF 服务

无法从本地机器调用 WCF 服务

从类库调用 WCF 服务:App.Config 与 Web.Config?

记录:Web无引用无配置方式动态调用WCF服务

WCF Web 服务调用的性能

iPhone Web 服务通过证书身份验证调用 WCF 服务