如何发布业务对象查询服务
我们正在尝试将 BO 查询服务从一个 Universe 复制到另一个 Universe。 如果您使用 BO 查询即服务 (QAAS) 工具,您可以执行此操作,但最终基本上会重新创建查询服务。
BusinessObjects.DSWS.* 库似乎允许您读取和写入查询服务,但这些服务不会出现在 QAAS 工具中。 我认为这些查询与 QAAS 工具 ping 进入了不同的宇宙。 也许有一个数据宇宙和另一个 Web 服务查询宇宙。 监控 HTTP 流量的 QAAS 工具显示,用于对其包含的数据运行查询的 BO Web 服务也用于管理 Web 服务查询。
我能够使用 QuerySpec 中 XML 字符串上的 Replace() 来更改 UniverseID,将一个查询服务复制到新 Universe 中的新服务中。 我们基本上可以将一个查询服务复制到另一个宇宙,而无需手动重建它,除了一件小事。
QAAS 工具包括一个“发布”按钮。 这做了一些未知但重要的事情。 也许它会制作一些 SOAP、WSDL 或配置文件,以便复制的查询服务是公开的。 当它执行此操作时,似乎没有任何 HTTP 流量可供监听。 BusinessObjects.DSWS.* 库包含发布功能,但不适用于查询服务。 它适用于 Excel 和 PDF 等一般文件。
现在,我们只能使用两种工具。 有谁知道如何像 QAAS 工具一样以编程方式发布 BO 查询服务?
We are trying to copy a BO Query Service from one Universe to another. If you use the BO Query As A Service(QAAS) tool you can do this, but end up basically recreating the query service.
It seems like the BusinessObjects.DSWS.* libraries allow you to read and write query services, but those don't appear in the QAAS tool. I think that those queries go into a different Universe than the QAAS tool pings. Perhaps there is a Universe for data and another for Web Service Queries. Monitoring the QAAS tool for HTTP traffic revealed that the BO Web Service used to run queries for the data they contain is also used to manage the Web Service queries.
I was able to copy one Query Service into a new one in a new Universe using a Replace() on the XML string in QuerySpec to change the UniverseID. We can basically copy one Query Service to another Universe without manually rebuilding it except for one little thing.
The QAAS tool includes a Publish button. This does something unknown, but important. Perhaps it makes some SOAP, WSDL or config files so that the copied Query Service is public. There doesn't seem to be any HTTP traffic to snoop on when it's doing this. The BusinessObjects.DSWS.* libraries include a Publish feature, but it's not for Query Services. It's for general files like Excel and PDF.
Right now, we are relegated to using two tools. Does anyone know about how to Publish a BO Query Service programmatically just like the QAAS Tool?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
已经有一段时间了,但是有一种黑客方法可以做到这一点。
您可以使用VS工具生成可以调用BO Web服务的csharp类。 该对象可以以文本格式提取相关设置。 然后,将查询服务中对象 ID 的现有部分(即 Universe ID)替换为新的 Universe ID。 然后该对象可以添加新的查询服务。
此过程非常快,之后您需要使用 QAAS 工具来发布新的复制查询服务。 代码中可用的所有发布操作似乎都发布了其他内容,而不是查询服务。
It's been a while, but there was a hackish way of doing this.
You can use a VS tool to generate a csharp class that can call the BO web service. That object can pull the relevant settings in a text format. Then you replace the existing portion of the object IDs in the query service that is the Universe ID with a new Universe ID. That object can then add the new query service.
This process is extremely quick and afterwords you need to use the QAAS tool to publish the new, copied query service. All the Publish actions available from code seem to publish something else and not query services.