2008-11-04 8 views
0

Nous essayons de copier un service de requête BO d'un univers à un autre. Si vous utilisez l'outil QAAS (BO Query As A Service), vous pouvez le faire, mais vous finissez par recréer le service de requête.Comment publier un service de requête Business Objects

Il semble que les bibliothèques BusinessObjects.DSWS. * Vous permettent de lire et d'écrire des services de requête, mais ceux-ci n'apparaissent pas dans l'outil QAAS. Je pense que ces requêtes vont dans un univers différent des pings de l'outil QAAS. Il existe peut-être un univers pour les données et un autre pour les requêtes de service Web. La surveillance de l'outil QAAS pour le trafic HTTP a révélé que le service Web BO utilisé pour exécuter des requêtes sur les données qu'ils contiennent est également utilisé pour gérer les requêtes du service Web.

J'ai été en mesure de copier un service de requête dans un nouveau dans un nouvel univers en utilisant un Replace() sur la chaîne XML dans QuerySpec pour modifier l'UniverseID. Nous pouvons fondamentalement copier un service de requête vers un autre univers sans le reconstruire manuellement, sauf pour une petite chose.

L'outil QAAS inclut un bouton Publier. Cela fait quelque chose d'inconnu, mais important. Peut-être fait-il des fichiers SOAP, WSDL ou config pour que le service de requête copié soit public. Il ne semble pas y avoir de trafic HTTP à surveiller quand il le fait. Les bibliothèques BusinessObjects.DSWS. * Incluent une fonctionnalité de publication, mais pas les services de requête. C'est pour les fichiers généraux comme Excel et PDF.

À l'heure actuelle, nous sommes relégués à l'aide de deux outils. Est-ce que quelqu'un sait comment publier un service de requête BO par programmation, tout comme l'outil QAAS?

Répondre

0

Cela fait un moment, mais il y avait une façon hackish de le faire.

Vous pouvez utiliser un outil VS pour générer une classe csharp pouvant appeler le service Web BO. Cet objet peut extraire les paramètres pertinents dans un format texte. Ensuite, vous remplacez la partie existante des ID d'objet dans le service de requête qui est l'ID d'univers avec un nouvel ID d'univers. Cet objet peut ensuite ajouter le nouveau service de requête.

Ce processus est extrêmement rapide et, par la suite, vous devez utiliser l'outil QAAS pour publier le nouveau service de requête copié. Toutes les actions de publication disponibles à partir du code semblent publier autre chose et ne pas interroger les services.