【问题标题】:Consuming Web Service from WCF从 WCF 使用 Web 服务
【发布时间】:2010-12-02 10:21:35
【问题描述】:

我已经创建了一个 WCF 服务,现在这个 WCF 服务必须调用一个 Web 服务。我正在做的是在 WCF 中添加 Web 服务的服务引用并调用我想要使用的 Web 服务的方法。

只是一个例子如下所示:

CalcWebReference.CalculatorSoapClient fct = 
    new CalcWebReference.CalculatorSoapClient();
int rq = fct.Add(q, r); 
return rq;

现在,当我尝试从客户端调用此方法时,它会出现以下错误

服务器无法处理 由于内部错误而请求。为了 有关错误的更多信息, 要么打开 IncludeExceptionDetailInFaults(要么 来自 ServiceBehaviorAttribute 或来自 配置 行为)在服务器上,以便 将异常信息发回给 客户端,或根据 Microsoft .NET Framework 3.0 SDK 文档并检查服务器 跟踪日志。

谢谢我按照你说的做,但现在我收到以下错误“在 ServiceModel 客户端配置部分中找不到引用合同‘CalcWebReference.CalculatorSoap’的默认端点元素。这可能是因为找不到您的应用程序的配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素。”

现在我是否需要在 WCF 服务或 Web 服务中提供一些端点以从 Web 服务中获取功能,如果需要,我该如何提供。

请帮忙。

嗨,

CalcWebReference.CalculatorSoapClient 引用的是 Web 服务而不是 WCF。 下面给出的是用 WCF 编写的代码(示例代码),它正在调用 Web 服务:-

CalcWebReference.CalculatorSoapClient fct = new CalcWebReference.CalculatorSoapClient();

            int rq = fct.Add(12, 10);

            return rq;

是我没有正确使用语法还是我需要做任何额外的事情?

【问题讨论】:

    标签: wcf web-services


    【解决方案1】:

    这是通用的 WCF“发生了不好的事情”错误消息。这不会有太大帮助。

    方法:

    • 确保您调用的 Web 服务能够独立运行 - 否则请修复它!

    • 通过在您的 WCF 服务中包含错误详细信息来启用详细的错误信息,如错误消息中所述(在开发环境中执行此操作!从不在生产环境中...)

    • 尝试在 Visual Studio 中启动 WCF 服务并调试正在发生的事情

    为了启用详细的错误报告,您需要将此部分添加到 WCF 服务的配置中:

    <behaviors>
        <serviceBehaviors>
            <behavior name="DebugBehavior">
                <serviceDebug includeExceptionDetailInFaults="True" />
            </behavior>
        </serviceBehaviors>
    </behaviors>
    

    您可能已经配置了服务行为 - 在这种情况下,只需将 &lt;serviceDebug&gt; 标记添加到您的服务行为。

    如果您还没有服务配置 - 您还需要确保您的服务确实使用该服务配置:

    <service name="YourServiceNameHere" 
             behaviorConfiguration="DebugBehavior">
    

    确保您的&lt;service&gt; 标记上有一个behaviorConfiguration= 属性,并确保引用该定义的服务行为(通过指定其&lt;behavior name="..." &gt; 属性)。

    完成此操作后,您的错误有望为您提供更多信息 - 您绝对应该在异常中获得 .InnerException,这应该为您指明正确的方向。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-15
      • 1970-01-01
      相关资源
      最近更新 更多