[英]Consuming Web Service from WCF
我已经创建了一个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服务自行运行 - 否则解决它!
通过在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
,它应该指向正确的方向。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.