2008-11-04 4 views
0

하나의 유니버스에서 다른 유니버스로 BO 쿼리 서비스를 복사하려고합니다. BO QA (QAAS) 도구를 사용하는 경우이 작업을 수행 할 수 있지만 기본적으로 쿼리 서비스를 다시 작성해야합니다.Business Objects 쿼리 서비스를 게시하는 방법

BusinessObjects.DSWS. * 라이브러리는 쿼리 서비스를 읽고 쓸 수 있지만 QAAS 도구에는 나타나지 않는 것 같습니다. 필자는 이러한 쿼리가 QAAS 툴 핑보다 다른 유니버설에 있다고 생각합니다. 아마도 데이터 용 유니버스와 웹 서비스 쿼리 용 유니버스가있을 것입니다. HTTP 트래픽에 대한 QAAS 도구를 모니터링하면 포함 된 데이터에 대해 쿼리를 실행하는 데 사용되는 BO 웹 서비스가 웹 서비스 쿼리를 관리하는 데 사용되는 것으로 나타났습니다.

QuerySpec의 XML 문자열에서 Replace()를 사용하여 유니버스 ID를 변경하여 하나의 쿼리 서비스를 새 유니버스의 새 쿼리 서비스로 복사 할 수있었습니다. 기본적으로 하나의 쿼리 서비스를 하나의 작은 것을 제외하고 수동으로 다시 빌드하지 않고 다른 유니버스에 복사 할 수 있습니다.

QAAS 도구에는 게시 단추가 있습니다. 이것은 알려지지 않은 것이지만 중요합니다. 복사 된 Query Service가 공개되도록 SOAP, WSDL 또는 구성 파일을 작성합니다. 스누핑 할 때 HTTP 트래픽이 발생하지 않는 것 같습니다. BusinessObjects.DSWS. * 라이브러리에는 [게시] 기능이 있지만 쿼리 서비스에는 포함되지 않습니다. Excel 및 PDF와 같은 일반 파일 용입니다.

지금 우리는 두 가지 도구를 사용하도록 강등되었습니다. 누구든지 QAAS 도구처럼 프로그래밍 방식으로 BO Query Service를 게시하는 방법을 알고 있습니까?

답변

0

시간이 지났지 만 해킹 방법이있었습니다.

VS 도구를 사용하여 BO 웹 서비스를 호출 할 수있는 csharp 클래스를 생성 할 수 있습니다. 이 객체는 관련 설정을 텍스트 형식으로 가져올 수 있습니다. 그런 다음 유니버스 ID 인 쿼리 서비스의 개체 ID 중 기존 부분을 새 유니버스 ID로 바꿉니다. 그 객체는 새로운 쿼리 서비스를 추가 할 수 있습니다.

이 프로세스는 매우 빠르며 나중에 QAAS 도구를 사용하여 복사 된 새 쿼리 서비스를 게시해야합니다. 코드에서 사용할 수있는 모든 게시 작업은 서비스를 쿼리하지 않고 다른 것을 게시하는 것처럼 보입니다.