wcf - 从 WCF 使用 Web 服务

标签 wcf web-services

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

下面只是一个例子:

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

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

The server was unable to process the request due to an internal error. For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework 3.0 SDK documentation and inspect the server trace logs.

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

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

请帮忙。

你好,

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

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

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

            return rq;

我是不是语法不对,还是我还需要做其他事情?

最佳答案

这是通用的 WCF“发生了不好的事情”错误消息。这真的没什么帮助。

方法:

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

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

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

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

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

您可能已经配置了服务行为 - 在这种情况下,只需添加 <serviceDebug>标记您的服务行为。

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

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

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

一旦你这样做了,你的错误应该会给你更多的信息——你肯定会得到一个 .InnerException关于你的异常(exception)情况,应该为你指明正确的方向。

关于wcf - 从 WCF 使用 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4333836/

相关文章:

WCF : Is inactivityTimeout effective when reliableSession enabled ="false"

asp.net - 是否可以在中间服务为WCF的Asp.net配置文件中添加EF的连接字符串?

asp.net - 如何使用 jquery 调用 Web 服务将记录插入数据库?

java - 我可以在soap处理程序中获取Java类名吗?

asp.net - SOAP 1.2 产生错误请求,而 SOAP 1.1 工作

java - 具有基本身份验证的 JAX-WS 请求

iphone - 我如何解析iPhone中的以下数据?

c# - 具有相互身份验证的服务客户端(2 向客户端证书身份验证)

Silverlight 4 TreeView MVVM WCF

c# - 自动完成扩展程序未填充