reportservice.xml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. IBM Cognos Products: disp
  5. (C) Copyright IBM Corp. 2005 2016
  6. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7. -->
  8. <service name="reportService" bodyHandlerFactory="reportService.warpmta" class="com.cognos.pogo.services.SoapActionHandlerService" registerInCM="true" CMdefaultName="ReportService">
  9. <prerequisites>
  10. <prerequisite fileExists="RSBIBusPlugin.cpi"/>
  11. <!--<prerequisite fileExists="../bibustkserver/rsvp/lib/rsvp.jar"/>-->
  12. <prerequisite disabledProperty="warpIsEnabled"/>
  13. <prerequisite disabledProperty="dispIsEnabled"/>
  14. </prerequisites>
  15. <handlers>
  16. <handler name="reportservicechain" classname="com.cognos.pogo.handlers.logic.ChainHandler">
  17. <chain>
  18. <handler_ref name="warp_with_authenticate"/>
  19. <handler_ref name="ifReport"/>
  20. </chain>
  21. </handler>
  22. <handler name="warp_with_authenticate" classname="com.cognos.pogo.handlers.logic.ChainHandler">
  23. <chain>
  24. <handler_ref name="pogo.test_do_html_errors"/> test if need HTML error page
  25. <handler_ref name="pogo.auth_check"/>
  26. <handler_ref name="do_warp"/>
  27. <handler_ref name="bridge.response"/>
  28. <handler_ref name="pogo.respond"/>
  29. </chain>
  30. </handler>
  31. <handler name="rsReporter" classname="com.cognos.pogo.monitoring.QueueableRequestReportingHandler" publisherName="pogoPublisher" reporterName="ReportService" serviceType="reportService" cnRequestInfo="warpRequestInfo" skip_on_fault="false"/>
  32. <handler name="ifReport" classname="com.cognos.pogo.handlers.logic.IfHandler" if_prop="RSReportRequest" if_handler="reportService.rsReporter" skip_on_fault="false"/>
  33. <handler name="serviceStatus" classname="com.cognos.pogo.handlers.engine.ServiceStatusHandler" dispatcherStateHandler="dispatcher.dispatcherStatusHandler" serviceName="reportService" skip_on_fault="false"/>
  34. <handler name="do_warp" classname="com.cognos.pogo.handlers.logic.ChainHandler">
  35. <chain>
  36. <handler_ref name="pogo.jmeter_pid_fixup"/>
  37. <handler_ref name="test_warp_stopped"/>
  38. <handler_ref name="prepareConversationContext"/>
  39. <handler_ref name="validateRequestConversationContext"/>
  40. <handler_ref name="warpmta"/>
  41. <handler_ref name="diagnostics.LogConvStatusHandler"/>
  42. <handler_ref name="pogo.logResponseConversationContext"/>
  43. <handler_ref name="validateResponseConversationContext"/>
  44. <handler_ref name="pogo.jmeter_pid_fixup"/>
  45. <handler_ref name="pogo.test_warp_response_for_fault"/>
  46. <handler_ref name="logWarpFault"/>
  47. </chain>
  48. </handler>
  49. <handler name="prepareConversationContext" classname="com.cognos.pogo.handlers.tracking.PrepareConversationContextHandler"/>
  50. <handler name="validateRequestConversationContext" classname="com.cognos.pogo.handlers.tracking.ValidateRequestConversationContextHandler" validateProcessID="true" validateAffinityStrength="true" faultOnValidationError="false"/>
  51. <handler name="validateResponseConversationContext" classname="com.cognos.pogo.handlers.tracking.ValidateResponseConversationContextHandler" validateProcessID="true" validateAffinityStrength="true"/>
  52. <handler name="logWarpFault" classname="com.cognos.pogo.handlers.debug.LogFaultHandler" logCategoryName="com.cognos.logWarpFault" headerMessage="======== Warp replied with fault ========" skip_on_fault="false"/>
  53. <handler name="test_warp_stopped" classname="com.cognos.pogo.handlers.engine.AbortIfSuspendedHandler"/>
  54. <handler name="warpmta" classname="com.cognos.pogo.reportservice.ReportServerHandler" cn_cleanup_list="cleanup" cnRequestInfo="warpRequestInfo" runTimeInfoReporter="reportService.rsReporter" preventSSL="true" errorMessageCodePrefix="ReportServerHandler." objectFactory="com.cognos.pogo.reportservice.RS64ComponentFactory">
  55. <target>
  56. <child-proc-cmd>-../bibustkserver/BIBusTKServerMain4j.xml</child-proc-cmd>
  57. <child-proc-cmd>idleTimeLimitSec=900</child-proc-cmd>
  58. <child-proc-cmd>lightThreadStackSize=327680</child-proc-cmd>
  59. <env-var>
  60. <env-name>${tcmalloc.os.env.library.preload}</env-name>
  61. <env-value>${tcmalloc.library.name}</env-value>
  62. <env-separator>${tcmalloc.library.separator}</env-separator>
  63. <env-mode>prepend</env-mode>
  64. </env-var>
  65. <env-var>
  66. <env-name>${tcmalloc.os.env.library.preload64}</env-name>
  67. <env-value>${tcmalloc.library.name64}</env-value>
  68. <env-separator>${tcmalloc.library.separator}</env-separator>
  69. <env-mode>prepend</env-mode>
  70. </env-var>
  71. <env-var>
  72. <env-name>${tcmalloc.os.env.malloctype}</env-name>
  73. <env-value>${tcmalloc.os.env.malloctype.value}</env-value>
  74. </env-var>
  75. <init-param>
  76. <param-name>warmup</param-name>
  77. <param-value>1</param-value>
  78. </init-param>
  79. <init-param>
  80. <param-name>light_threads</param-name>
  81. <param-value>10</param-value>
  82. </init-param>
  83. <init-param>
  84. <param-name>startup_config_parameter</param-name>
  85. <param-value>rsvpExecutionMode</param-value>
  86. </init-param>
  87. <init-param>
  88. <param-name>startup_config_default</param-name>
  89. <param-value>32-bit</param-value>
  90. </init-param>
  91. <init-param>
  92. <param-name>32-bit_path</param-name>
  93. <param-value>${dispatcher.bin}</param-value>
  94. </init-param>
  95. <init-param>
  96. <param-name>32-bit_exe</param-name>
  97. <param-value>/BIBusTKServerMain${os.executable.extension}</param-value>
  98. </init-param>
  99. <init-param>
  100. <param-name>32-bit_environment_replacement</param-name>
  101. <param-value>bin64%bin</param-value>
  102. </init-param>
  103. <init-param>
  104. <param-name>64-bit_path</param-name>
  105. <param-value>${dispatcher.bin64}</param-value>
  106. </init-param>
  107. <init-param>
  108. <param-name>64-bit_exe</param-name>
  109. <param-value>/BIBusTKServerMain${os.executable.extension}</param-value>
  110. </init-param>
  111. <init-param>
  112. <param-name>64-bit_environment_replacement</param-name>
  113. <param-value>none</param-value>
  114. </init-param>
  115. <init-param>
  116. <param-name>java_path</param-name>
  117. <param-value>${dispatcher.bin64}</param-value>
  118. </init-param>
  119. <init-param>
  120. <param-name>java_exe</param-name>
  121. <param-value>/cogJavaLauncher${os.executable.extension}</param-value>
  122. </init-param>
  123. <init-param>
  124. <param-name>java_environment_replacement</param-name>
  125. <param-value>none</param-value>
  126. </init-param>
  127. <init-param>
  128. <!-- The host where the BIBusTKServerMain is running on. This is only used if report_server_port is NOT ZERO -->
  129. <param-name>report_server_host</param-name>
  130. <param-value>localhost</param-value>
  131. </init-param>
  132. <init-param>
  133. <!-- The port the report server is listening to. 0 (zero) should be used if the -->
  134. <!-- dispatcher spawns the process and uses a dynamically assigned port -->
  135. <param-name>report_server_port</param-name>
  136. <param-value>0</param-value>
  137. </init-param>
  138. <init-param>
  139. <param-name>worker_request_path</param-name>
  140. <param-value>/warp</param-value>
  141. </init-param>
  142. <init-param>
  143. <!-- The maximum number of processes that can be running at one time -->
  144. <param-name>max_process</param-name>
  145. <param-value>2</param-value>
  146. </init-param>
  147. <init-param>
  148. <!-- The minimum number of processes to keep in memory once they're started -->
  149. <param-name>linger_process</param-name>
  150. <param-value>1</param-value>
  151. </init-param>
  152. <init-param>
  153. <!-- Time period between checks for idle or expired processes (in ms) .
  154. Everytime we check an idle process we bump its tick count. Every time we use
  155. a process the count is reset to 0. If the count ever reaches the value
  156. of idle_process_max_idle_ticks (below) the process is destroyed.
  157. -->
  158. <param-name>idle_process_check_interval_ms</param-name>
  159. <param-value>30000</param-value>
  160. </init-param>
  161. <init-param>
  162. <!-- Time period between checks for unresponsive BiBus processes (in ms) .
  163. If a process is found to be unresponsive, it's dead or dying... Dispatcher
  164. will remove it from active use and let it die.
  165. -->
  166. <param-name>process_cleaner_interval</param-name>
  167. <param-value>60000</param-value>
  168. </init-param>
  169. <init-param>
  170. <!-- number of idle check ticks before an idle process is killed. -->
  171. <param-name>idle_process_max_idle_ticks</param-name>
  172. <param-value>10</param-value>
  173. </init-param>
  174. <init-param>
  175. <!-- The amount of time the dispatcher will wait for an expired process to become idle.
  176. After this wait, expired processes will be considered run-away processes and will be destroyed. -->
  177. <param-name>max_wait_for_expired_process_to_become_idle_secs</param-name>
  178. <param-value>7200</param-value>
  179. </init-param>
  180. <init-param>
  181. <!-- Should the BIBusTKServer be started at initialization time rather than on-demand? -->
  182. <param-name>prestart_process</param-name>
  183. <param-value>true</param-value>
  184. </init-param>
  185. <init-param>
  186. <!-- The maximum time a request is queued before it gives up (in ms) -->
  187. <param-name>queue_time_limit_ms</param-name>
  188. <param-value>30000</param-value>
  189. </init-param>
  190. <init-param>
  191. <!-- The amount of time the dispatcher will wait for a async request before it cancels it (in ms) -->
  192. <param-name>async_wait_timeout_ms</param-name>
  193. <param-value>60000</param-value>
  194. </init-param>
  195. <init-param>
  196. <!-- The default number of requests that can be made to a process before it is expired -->
  197. <param-name>default_process_use_limit</param-name>
  198. <param-value>0</param-value>
  199. <!-- 0 for unlimited -->
  200. </init-param>
  201. <init-param>
  202. <!-- The amount of time the dispatcher will wait for the process to shutdown before killing it -->
  203. <param-name>process_shutdown_timeout_ms</param-name>
  204. <param-value>300000</param-value>
  205. </init-param>
  206. <init-param>
  207. <!-- The amount of time the dispatcher will wait after a "stop immediately"
  208. for the process to shutdown before killing it -->
  209. <param-name>process_shutdown_immediate_timeout_ms</param-name>
  210. <param-value>10000</param-value>
  211. </init-param>
  212. <init-param>
  213. <!-- Time amount of time a request can sit on a connection before it is considered a delinquent -->
  214. <!-- DON'T SET THIS TO NON ZERO UNLESS YOU KNOW WHAT YOU'RE DOING -->
  215. <param-name>delinquent_timeout_seconds</param-name>
  216. <param-value>0</param-value>
  217. </init-param>
  218. <init-param>
  219. <!-- The time interval the dispatcher will schedule a timer task to run to check for idle connections (see WO2873);
  220. a value of 0 means no check is performed -->
  221. <param-name>bibusTKServerConnectionAgeLimit_ms</param-name>
  222. <param-value>0</param-value>
  223. </init-param>
  224. <init-param>
  225. <!-- The number of threads the BIBusTK process should create (see WO 2873);
  226. a value of -1 means let BIBusTK decide the number of threads to be created; otherwise use number of affine and
  227. nonAffine conections when creating threads ( pre bluesea ib26 behavior ) -->
  228. <param-name>threads</param-name>
  229. <param-value>10</param-value>
  230. </init-param>
  231. <bibsrv_config>
  232. <handlers>
  233. <handler url_prefix="/warp" library_name="RSBIBusPlugin.cpi" plugin_name="RSBIBusPlugin" mode="stream" location="../bibustkserver/rsvp" class_name="com.ibm.cognos.rsvp.rsbibusplugin.RSBIBusPlugin">
  234. <ContentManager>
  235. <Host>${cm.host}</Host>
  236. <Port>${cm.port}</Port>
  237. <URI>${cm.url}</URI>
  238. </ContentManager>
  239. <RequestCache>
  240. <Size>${wp_cache_size}</Size>
  241. <IdleRequestLifespan>${wp_idle_request_lifespan}</IdleRequestLifespan>
  242. </RequestCache>
  243. </handler>
  244. </handlers>
  245. </bibsrv_config>
  246. </target>
  247. </handler>
  248. <handler name="ForceXMLResponse" classname="com.cognos.pogo.transport.ForceXMLResponse"/>
  249. <handler name="metadataservicechain" classname="com.cognos.pogo.handlers.logic.ChainHandler">
  250. <chain>
  251. <handler_ref name="ForceXMLResponse"/>
  252. <handler_ref name="reportservicechain"/>
  253. </chain>
  254. </handler>
  255. <handler name="mapPreviewChainHandler" classname="com.cognos.pogo.handlers.logic.ChainHandler">
  256. <chain>
  257. <handler_ref name="pogo.auth_check"/>
  258. <handler_ref name="mapPreviewRequestHandler"/>
  259. <handler_ref name="do_warp"/>
  260. <handler_ref name="mapPreviewResponseHandler"/>
  261. <handler_ref name="mapPreviewFailureHandler"/>
  262. <handler_ref name="pogo.respond"/>
  263. </chain>
  264. </handler>
  265. <handler name="mapPreviewRequestHandler" classname="com.cognos.pogo.reportservice.MapPreviewRequestHandler"/>
  266. <handler name="mapPreviewResponseHandler" classname="com.cognos.pogo.reportservice.MapPreviewResponseHandler"/>
  267. <handler name="mapPreviewFailureHandler" classname="com.cognos.pogo.reportservice.MapPreviewFailureHandler" skip_on_fault="false"/>
  268. </handlers>
  269. <soapActions>
  270. <soapAction path="reportService" handler="reportService.reportservicechain"/>
  271. <soapAction path="reportService.absolute" handler="reportService.reportservicechain"/>
  272. <soapAction path="reportService.high" handler="reportService.reportservicechain"/>
  273. <soapAction path="reportService.control" handler="reportService.reportservicechain"/>
  274. <soapAction path="reportService.server" handler="reportService.reportservicechain"/>
  275. <soapAction path="reportService.session" handler="reportService.reportservicechain"/>
  276. <soapAction path="ExplorationService" handler="reportService.reportservicechain"/>
  277. <soapAction path="explorationService" handler="reportService.reportservicechain"/>
  278. <!-- new actions per WO800 -->
  279. <soapAction path="http://developer.cognos.com/schemas/reportService/1" handler="reportService.reportservicechain"/>
  280. <soapAction path="http://developer.cognos.com/schemas/reportService/1.high" handler="reportService.reportservicechain"/>
  281. <soapAction path="http://developer.cognos.com/schemas/reportService/1.control" handler="reportService.reportservicechain"/>
  282. <soapAction path="http://developer.cognos.com/schemas/reportService/1.absolute" handler="reportService.reportservicechain"/>
  283. <soapAction path="http://developer.cognos.com/schemas/reportService/1.session" handler="reportService.reportservicechain"/>
  284. <soapAction path="http://developer.cognos.com/schemas/reportService/1.server" handler="reportService.reportservicechain"/>
  285. <soapAction path="mapPreview" handler="reportService.mapPreviewChainHandler"/>
  286. <soapAction path="http://www.ibm.com/xmlns/prod/cognos/reportService/*/" handler="reportService.reportservicechain"/>
  287. <soapAction path="http://www.ibm.com/xmlns/prod/cognos/reportService/*/.high" handler="reportService.reportservicechain"/>
  288. <soapAction path="http://www.ibm.com/xmlns/prod/cognos/reportService/*/.control" handler="reportService.reportservicechain"/>
  289. <soapAction path="http://www.ibm.com/xmlns/prod/cognos/reportService/*/.absolute" handler="reportService.reportservicechain"/>
  290. <soapAction path="http://www.ibm.com/xmlns/prod/cognos/reportService/*/.session" handler="reportService.reportservicechain"/>
  291. <soapAction path="http://www.ibm.com/xmlns/prod/cognos/reportService/*/.server" handler="reportService.reportservicechain"/>
  292. <soapAction path="mapPreview" handler="reportService.mapPreviewChainHandler"/>
  293. </soapActions>
  294. <attributes>
  295. <attribute>rsAffineConnections</attribute>
  296. <attribute>rsNonAffineConnections</attribute>
  297. <attribute>rsMaximumProcesses</attribute>
  298. <attribute>rsPeakAffineConnections</attribute>
  299. <attribute>rsPeakNonAffineConnections</attribute>
  300. <attribute>rsPeakMaximumProcesses</attribute>
  301. <attribute>rsQueueLimit</attribute>
  302. <attribute>defaultFont</attribute>
  303. <attribute>supportedFonts</attribute>
  304. <attribute>rsDataSourceChange</attribute>
  305. <attribute>rsExecutionTimeLimit</attribute>
  306. <attribute>rsChartHotspotLimit</attribute>
  307. <attribute>rsPDFCompressionLevel</attribute>
  308. <attribute>rsPDFCompressionType</attribute>
  309. <attribute>rsPDFEmbedFonts</attribute>
  310. <attribute>rsPDFCharacterEncoding</attribute>
  311. <attribute>advancedSettings</attribute>
  312. <attribute>dispatcherID</attribute>
  313. <attribute>rsMaximumEMailAttachmentSize</attribute>
  314. <attribute type="global">serviceDefaultOptions</attribute>
  315. <attribute type="global">overrideOptions</attribute>
  316. </attributes>
  317. </service>