我在windows 2008上使用Biztalk UDDI V3(独立安装)。我已经配置了所有服务(网络、数据库和订阅):
- 我成功地发布了一些服务
- 我成功地从我的.net控制台应用程序访问并检索了服务信息
我现在的问题是订阅服务。我尝试订阅其中一个已发布的服务,结果发现我需要创建自己的侦听器。
我遵循了此处列出的步骤。请查看标题为"针对服务更改生成订阅警报"的部分。我对我创建的WCF服务应该是什么样子感到困惑。说明书说明如下:
现在我们创建一个新的WCF服务项目并引用这个现有的服务库。确保.svc文件指向我们引用的库对象,并添加有效的端点配置文件后,请在web浏览器中查看我们的服务,以确保它已启动并运行
我觉得这一部分令人困惑。不确定WCF服务将公开哪些公共方法(如果有的话),也不确定如何公开我刚刚在WCF项目中引用的服务库中的功能。
当然,如果你知道一种不同的方式来实现我正在努力实现的目标,那也将不胜感激。
谢谢。
这可能会有所帮助。实际上,我只是使用.NETC#为ApachejUDDI的客户端库编写了一个完整的端口。其中一个用例实际上是你想要做的。下面是使用的粗略方法。
- 从wsdl生成代码(使用wsdl.exe,因为svcutil不喜欢UDDI wsdls)
- 更改接口代码以具有订阅侦听器类的WCF绑定
- 创建订阅侦听器的实现并处理回调
- 使用WCF的嵌入式服务启动实现
- 向UDDI注册您的子侦听器端点(根据规范使用正确的注释)
- 使用子侦听器的绑定模板设置订阅
- 等待回调
这是代码http://svn.apache.org/repos/asf/juddi/trunk/juddi-client.net/
示例http://svn.apache.org/repos/asf/juddi/trunk/juddi-client.net/juddi-client.net-sample/org.apache.juddi.client.samples/SubscriptionCallbackExample.cs
还有一个Java版本可以做完全相同的事情。