问题标签 [ws-discovery]
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.
.net - 具有动态端口 0 和 TCP 绑定的 WCF 服务发现
我想在端口 0 上启动一项服务(使用 mex TCP 绑定启用 Mex) - 比如说再次使用网络 TCP 绑定在端点上的合同“IHelloWorldOne”。
从我的服务的 App.config
请注意,端口为 0 - 这基本上让 Windows 为我提供了一个端点的开放端口,这意味着“mex”端点可以获得一个随机端口。
在我的客户上:
注意:我使用 ListenURI 来交换元数据。但是,当我尝试时 - 我遇到了这个异常
例外
我能够在 listenURI 上看到 mex 端点的端口,但无法连接到它。
我尝试的另一种方法是将 mex 端点保留为常量并发现服务端口 - 我无法完成此操作,并且该端口在响应的端点的 listenURI 上不可用。
所以我的问题是,有没有办法为 Mex 和服务端点绑定到 WCF 中的端口 0 并发现它们?如果是这样,怎么做?
java - Onvif 网络摄像机服务发现
我需要发现局域网中支持 onvif 协议的所有 IP 摄像机。我尝试使用 WSDiscoveryClient,但它没有发现 onvif 服务,尽管它发现了其他服务。它就像 onvif 不响应来自 WSDiscoveryClient 的探测。Onvif 设备管理器可以进行发现,所以我知道可以做到。有谁知道该怎么做?
ws-discovery - 不同逻辑网络上摄像机的 WS-Discovery
我有一个运行 python 的单元,它需要使用 ws-discovery 来定位可能位于不同逻辑网络上的 onvif 摄像机。有谁知道这是否可能?
(我在使用这个库的相同逻辑网络上发现了:https ://github.com/hlamer/python-ws-discovery/blob/master/WSDiscovery.py )
经过一番搜索,我发现了“远程发现代理”,这听起来很有希望,但我无法弄清楚它们到底是什么。
web-services - 当前用于 Web 服务发现的技术有哪些?UDDI?
我正在考虑构建一个新的服务发现平台,以允许我们的客户向我们的平台提供插件。我知道 UDDI 是前一阵子的技术“du jour”,但是,在进行一些研究时,UUDI 似乎已经不再受到人们的青睐。这些天你用什么来发现服务?有机会你想用什么?
c# - UWP 应用中的 WCF 发现
我创建了一个通用应用程序,它连接到 Intranet 上的 WCF Web 服务,它工作得很好,因为服务主机的地址是已知的。
出于性能和安全(冗余)的原因,系统的架构允许在不同的主机上运行多个 Web 服务。所以我试图让我的应用程序发现每个服务,给定合同,在同一个局域网上运行,但我无法做到这一点。
我正在尝试在一个非常相似的 win32 应用程序中使用的相同方法:
Visual Studio“自动”为我添加所需的参考(System.ServiceModel.Discovery),如此处所示
在设计时似乎没问题,但是当我尝试编译时,出现该错误:
在模块 System.ServiceModel.dll 中找不到类型 System.ServiceModel.Configuration.ServiceModelConfigurationElementCollection`1。
你们有人在 UWP 中做过吗?你能帮助我吗?在此先感谢,iuri。
ps:我也在 MSDN中发布过这个问题
c# - WCF 发现 UDPEndpoint 在 IIS 上发布后不起作用
我用 WCF Discovery UDPEndpoint 做了一个测试,它在我自己的计算机上工作,但是如果我将它发布到 IIS,然后从其他计算机调用它,它就找不到了。
我已经用IP设置了地址。
服务
服务引用在客户端正确添加,我可以从 IE 浏览服务。但它不能被 UDP 发现。
客户
我已经在客户端和服务中打开了 UDP 端口。有没有办法解决这个问题?
c++ - Onvif 单播探测消息
我想使用 onvif 设备测试工具(版本 16.07 SR1)测试我的软件,我设法回复多播探测消息,我试图确认我的软件完全可以与设备发现一起使用,但是当测试工具发送单播探测消息时,我的软件响应与多播探测消息相同,并给出错误“发生意外错误。XML 文档 (0,0) 中存在错误。” 我的测试失败了。我使用wireshark检查了消息,我肯定会用我的多播探测响应发送相同的消息。单播和多播探测匹配消息之间有什么区别吗?
多播探测:
多播探测匹配(此回复后,我的设备显示在已发现设备列表中):
单播探测:
单播 probematch 回复(在此消息 Onvif Device Test Tool 给出上述错误之后):
c# - 其他网络上的 WCF UDP 发现
我们公司有两个不同的网络,17 和 18
- 170.17.xxx.xxx
- 170.18.xxx.xxx
在 17 网络上有一个可发现的 WCF 服务正在运行。这是由以下代码配置的:
具有范围的行为被添加到所有非系统端点,并且可以通过在网络上发送 udp 数据包(UdpDiscoveryEndpoint 的默认实例)来发现它。
客户端通过使用默认 UdpDiscoveryEndpoint 构造 DiscoveryClient 来发现服务。
当客户端和服务都在同一网络上运行时,这可以正常工作。但我希望有一个在 18 网络上运行的客户端,它能够在 17 网络上找到服务。
那么是否可以使用 DiscoveryClient 和 UdpDiscoveryEndpoint 发现其他网络上的服务?
编辑
或者这可能是防火墙问题?
wsdl - Gsoap、ONVIF 和发现
如何让 gsoap 为 ONVIF 和 ws-discovery 生成正确的绑定?我生成一个或另一个没有问题,但不是两者结合。
这将生成正确的 wsdiscovery 绑定:
wsdl2h -g -o wsdiscovery.h -t typemap.dat https://raw.githubusercontent.com/crrlab/TND/master/data/onvif/ws-discovery.wsdl
生成soapwsddProxy.h 和soapwsddProxy.cpp
这将生成 ONVIF 绑定,但省略了 wsdiscovery 组件。
wsdl2h -g -o wsdiscovery.h -t typemap.dat http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl http://www.onvif.org/onvif/ver10/event/ wsdl/event.wsdl https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl https://www.onvif.org/ver10/media/wsdl/media.wsdl https://raw.githubusercontent .com/crrlab/TND/master/data/onvif/ws-discovery.wsdl
不生成soapwsddProxy.h 和soapwsddProxy.cpp
soapcpp2 -C2Lxij -I$GSOAP/import:$GSOAP wsdiscovery.h
这与在 ONVIF wsdl 中而不是在 WS-Discovery wsdl 中定义的绑定接口有关。当存在 ONVIF 绑定声明时,wsdl2h 将停止生成 wsdiscovery 绑定。
我曾尝试分别生成它们然后组合,但这会导致各种编译器错误。
c# - WCF:使用唯一 ListenUri 和 WCF 发现时,To 和 via uri 必须匹配错误
我正在尝试创建一个使用 httpBinding 的 WCF 服务,并且我想要唯一的 Listen Uri。客户端正在使用 WCF 发现来检测发现代理中的服务。操作合同的保护级别设置为无
我收到一个错误,客户说 to 和 via uri 必须相同:
控制台输出:
服务:
客户:
调用计算器服务:
请帮我解决上述错误