我已经创建了一个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;
我不是正确的语法,还是我需要做的其他事情呢?
答案 0 :(得分:2)
这是通用WCF“发生了一些不好的事”错误消息。这不会有太大帮助。
的方法:
确保您正在调用的Web服务自行运行 - 否则请修复它!
通过在WCF服务中包含错误详细信息(在错误消息中描述)启用详细错误信息(在DEV环境仅中执行此操作!从未在生产中...)
尝试在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
指向正确的方向。