问题标签 [endpointnotfoundexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
21085 浏览

c# - EndpointNotFoundException 调用运行 RESTful WCF 服务的操作

我的一项 WCF 服务有一个非常奇怪的问题。我很确定大多数尝试过 WCF 服务的人EndpointNotFoundException在他们的配置文件中没有正确设置端点时都会遇到问题。从 MSDN 上的EndpointNotFoundException课程页面:

无法找到或到达远程端点时引发的异常。

进一步,它继续:

由于远程端点已关闭、远程端点不可达或远程网络不可达,端点可能无法找到或无法访问。

这并不反映我的情况。因此,似乎EndpointNotFoundException在使用 WCF 时收到一个并不少见,但在第一次Exception尝试访问服务时不会抛出它......相反,它仅在尝试调用服务的操作之一时抛出:

有趣的是,该Exception消息还包括上述文件路径中的操作名称:

没有http://domain/Folder/ServiceName.svc/OperationName可以接受消息的端点监听。这通常是由不正确的地址或 SOAP 操作引起的。有关更多详细信息,请参阅 InnerException(如果存在)。

内部Exception有以下消息:

远程服务器返回错误:(404) Not Found。

这对我来说尤其令人困惑,因为我可以成功浏览到服务 URL 并看到默认的You have created a service页面:

在此处输入图像描述

此外,如果我导航到Exception消息中的路径,我会在页面上看到Endpoint not found消息:

在此处输入图像描述

但是,如果我导航到我的其他工作 WCF 服务之一的任何操作页面,我会400 Bad Request从浏览器收到标准错误,即使操作正常。所以在我看来,这个原件EndpointNotFoundException 可能是一个红鲱鱼......不过我真的不确定,因为我没有花太多时间与 WCF 合作。

我将在此处显示我的 web.config(服务器端),以防万一有人需要查看它:

这是客户端App.config(请记住,这引用了两个 WCF 服务):

因此,如果有任何一位经常出现 Stack Overflow 的伟人能为我阐明这个问题,我将不胜感激。


更新>>>

针对前几条评论,我怀疑问题可能是由Exception服务器端代码引发的,所以我大大简化了操作代码......现在它所做的就是这样,但我仍然得到同样的错误:

另外,我确实设置了跟踪,但它只在客户端工作,所以它只告诉我我已经知道的内容。我将查看您提供的链接@BigDaddy,以防它显示如何在服务器端设置跟踪。

为了响应 Tewr,我使用 生成了服务客户端svcutil.exe,但我也尝试添加服务引用并让 Visual Studio 为我创建引用……这两种方法都导致了相同的错误。此外,我整天都在更新服务引用,因为我一直在进行更改。includeExceptionDetailInFaults="true"设置没有任何区别,但我会尝试向服务添加一个虚拟操作并尝试在浏览器中查看它。


更新 2 >>>

好的,所以我向服务添加了一个简单的 getter 方法,并像@Tewr 建议的那样全面更新了引用。这只是让我更加困惑......方法:

实现只返回 a string,当我在 Web 浏览器中访问该服务时,我看到了该值: 在此处输入图像描述
但是,即使在调用相同的新操作时,我仍然从代码中得到相同的错误......这是什么意思?


更新 3 >>>

在听取了评论的建议后,我再次在服务上设置了一个服务跟踪......我仍然无法让那个在服务器上工作,但在客户端上,它确实输出了一个跟踪文件。在该文件中,我看到一个InvalidOperationException带有以下消息的:

信封版本“EnvelopeNone ( http://schemas.microsoft.com/ws/2005/05/envelope/none )”不支持添加邮件标头。

我现在只是在研究这个,所以如果你知道这个错误是关于什么的,请告诉我。

0 投票
1 回答
626 浏览

c# - WCF EndpointNotFoundException 比 TimeoutException 花费更长的时间

我设置了一组相互通信的服务;使用以下绑定,我会假设如果我“A”向“B”(活着)和“C”(不活着)发送一条消息,如果处理时间不超过定义的 sendTimeout,B 将返回,否则它将是超时异常。在“C”失败且不可用的情况下,我会假设它也会在 sendTimeout 定义的时间内返回。对于“B”,这似乎是正确的,但对于“C”,会捕获一个 EndpointNotFoundException,但它需要的时间比为 sendTimeout 定义的 5 秒长得多。我的配置中是否缺少某些内容。服务和客户端使用相同的绑定

0 投票
2 回答
1255 浏览

c# - 自托管服务中未找到 WCF 端点错误

我在调用 WCF 服务时收到“未找到端点”。它是控制台应用程序中的自托管服务。

这是我的代码:

IService.cs

}

服务.cs

}

和控制台应用程序:

}

没有配置文件,因为它都在代码中。

以及对服务的调用:

任何帮助将非常感激。谢谢!

0 投票
0 回答
655 浏览

asp.net - IIS 停止连接到 WCF 服务,直到应用程序池被回收

我有一个托管在 IIS 8.5 上的 ASP.NET MVC 应用程序。该站点将在数小时到数天之间正常运行,但在尝试连接到另一台计算机上通过 net.tcp 托管的 WCF 服务时最终开始出现 EndpointNotFoundException。

如果我尝试使用不同的应用程序池、控制台应用程序等从 IIS 机器连接到 WCF 服务,它们都会毫无错误地连接。也不是每一次连接尝试都失败了,只是大多数连接尝试都失败了。

一旦我回收应用程序池,一切都会重新开始工作。

在 EndpointNotFoundException 开始出现之前,我在事件查看器中看不到任何内容,并且 Elmah 没有显示其他错误。

我将所有 WCF 调用都包装在 try/catch 块中,这些块将执行必要的关闭/中止命令,以确保所有客户端都正确关闭。这是正在使用的代码。

我还创建了一个监视服务器的应用程序。如果它发现服务器开始出现错误,它会尝试使用以下代码回收应用程序池:

但是,即使此代码也不能阻止异常。我必须手动登录机器,打开 IIS 管理器,右键单击应用程序池,然后单击回收。

我在 Winforms 和 Windows 服务等应用程序中还有其他几个 WCF 服务器/客户端,它们没有这个问题。只有托管在 IIS 上的客户端应用程序出现问题。

有关如何追踪导致此错误的原因的任何建议?

0 投票
1 回答
932 浏览

web-services - WCF - 未找到端点异常

这两天我一直在努力解决这个问题,并尝试了很多方法来试图让它发挥作用,但无济于事。我试图让这个系统在我的本地机器上工作以进行调试。我希望这里有人可以看到我已经视而不见的东西,或者可以提供一些建议。

我有两个 wcf 服务(实际上是 4 个,但稍后会详细介绍)。一种是在 IIS 上运行的 SOAP Web 服务。Web 服务正在尝试调用其他服务(代理)。在生产环境中,两个服务之间有两个防火墙。他们使用具有证书安全性的 net.tcp 协议进行连接。

我们将自签名证书用于开发和 QA 目的。

我已安装客户端和服务证书,并已授予应用程序池对证书的读取权限。

我已经验证了 Net.Tcp 端口共享服务、Net.Tcp Listener Adapter、Net.Pipe Listener Adapter 都在运行。

net.tcp 协议已启用,net.tcp 绑定在 IIS 中定义。

防火墙已关闭。

这两个服务都连接到身份管理服务 (IMS),该服务也是在 qa 服务器上运行的 WCF 服务,而不是我的本地计算机。Web 服务能够成功连接到 IMS 服务。我正在尝试使用相同的绑定来连接到代理服务。据我所知,webservice和代理之间的绑定和合同都是匹配的,但我仍然得到EndPointNotFoundException。我错过了什么?

这是 web 服务的 web.config 中的 system.serviceModel 部分:

这是代理服务的 app.config 中的 system.serviceModel 部分:

附录:我刚刚运行 netstat -a,但在端口 8102 上没有看到任何监听。很明显,这就是我得到响应的原因。我现在的问题是,为什么代理没有监听 8102?我在 Visual Studio 2015 中运行代理服务并设置了断点。我需要安装服务然后附加到进程吗?

0 投票
1 回答
830 浏览

spring - 带有 WSDL EndpointNotFound 的 Spring Boot 项目

大家!!!

我有这个基于http://javainuse.com/spring/springbootsoapwebservice的项目,但我得到了 EndpointNotFound。

pom.xml

WSDL

课程

应用:

配置:

端点:

SOAPUI 调用:

结果控制台:

我究竟做错了什么?http://javainuse.com/spring/springbootsoapwebservice中的示例效果很好,但是当我换成我的...

有人可以帮助我吗?

0 投票
1 回答
260 浏览

wcf - WCF 客户端作为控制台应用程序运行,但作为 Windows 服务运行,失败并出现 EndpointNotFoundException

我编写了一个 C# 控制台应用程序来使用 NetNamedPipeBinding 使用本地 WCF 服务。我使用的 WCF 服务作为本地 Windows 应用程序运行。我的 WCF 客户端可以作为控制台应用程序正常工作。但是,当我将本质上相同的 WCF 客户端实现为不是作为控制台应用程序而是作为 Windows 服务时,我的 WCF 客户端找不到本地 WCF 端点并引发 System.ServiceModel.EndpointNotFoundException 异常。

为什么 WCF 客户端作为控制台应用程序运行良好,然后在客户端作为 Windows 服务运行时抛出 EndpointNotFoundException?

这就是我在客户端代码中创建通道工厂的方式:

然后我像这样创建频道:

到目前为止没有错误,但是当我尝试按如下方式实际使用通道时,出现异常:

当此代码作为以本地系统登录的 Windows 服务运行时,在我的 WCF 客户端中对 _bluehillAPIService.APIHeartbeat() 的调用会生成 System.ServiceModel.EndpointNotFoundException,但当本质上相同的代码作为控制台应用程序运行时工作正常。