2010-12-02 177 views
3

我已经创建了一个WCF服务,现在这个WCF服务必须调用一个Web服务。我正在做的是在WCF中添加Web服务的服务引用并调用我想要使用的Web服务的方法。从WCF消费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被reffering到Web服务不是WCF。 下面给出的是写在其中调用Web服务WCF(示例代码)的代码: -

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

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

      return rq; 

我不能把语法正确的或者是有,我需要在此做任何额外的东西吗?

回答

2

这是泛型WCF“发生了什么坏事”错误消息。这不会有太大的帮助。

途径:

  • 确保你呼吁自己的作品的网络服务 - 否则修复它!

  • 启用详细的错误信息,错误消息所描述的,通过在WCF服务错误的详细信息(这样做是DEV环境只有!从来没有在生产...)

  • 尝试推出Visual Studio和调试内部WCF服务发生了什么

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

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

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

如果你没有一个服务的配置,但 - 你还需要确保你的服务实际上用途该服务的配置:

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

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

一旦你这样做了,你的错误应该有希望给你更多的信息 - 你应该肯定会得到一个.InnerException你的异常应该指向你在正确的方向。