Topic
4 replies Latest Post - ‏2014-08-29T15:03:38Z by DataExchdAdmin
SystemAdmin
SystemAdmin
6772 Posts
ACCEPTED ANSWER

Pinned topic DataPower Transactional Logging details

‏2013-02-18T14:47:47Z |
I would like to implement transcriptional logging on a DataPower appliance, but would like to clarify some details first - I have looked at this "best practices" guide at http://www.redbooks.ibm.com/abstracts/sg247901.html?Open and have 2 concerns:
1. "A processing policy containing this action will only continue forward if the log
action can successfully send its payload to the destination given. If the action
cannot succeed in this manner, an error occurs.
This action also waits for the configured amount of time (in this case, the default
timeout value for the URL used) to receive a reply. If no reply is received, the
processing policy then continues to completion." (pg 172)

Does this mean that if a log message is unable to be sent, that the process is halted? I would rather miss a log entry - is this an optional setting somewhere?
2. "Event log messages cannot exceed 2 kilobytes (KB) in size. Messages that are larger than 2 KB are truncated." (pg 173)

2kb is rather small, and could potentially cause problems by truncating an XML message (making it not well-formed by cutting off the closing tags) - is there a possibility of sending an "alternative" message that contains less information if the desired message would be above 2kb? (yes, style sheets can be used to shorten the message, but is there any way for a style sheet to "know" the size of the message in order to only trim to the necessary amount?)

P.S. - I am running version 5.0.0.4, and this refers to version 3.8.2 - I have tested larger logs and the limit appears to be 1mb as opposed to 2kb, and that an invalid log target does not halt execution, but I would like to confirm that this is the normal operation and not just a bug or something that will change in future versions
Updated on 2013-02-19T09:55:13Z at 2013-02-19T09:55:13Z by SystemAdmin
  • SystemAdmin
    SystemAdmin
    6772 Posts
    ACCEPTED ANSWER

    Re: DataPower Transactional Logging details

    ‏2013-02-18T17:16:51Z  in response to SystemAdmin
    Just to be clear, are you trying to log details of your B2B transactions? I can't speak to how well you'd be able to implement that using log targets, etc, but you can easily extract B2B transactions using the XML management interface. We have a service that polls our appliances every so often and retrieves all the B2B transactions since the last poll. Not exactly real-time but it works very well for our purposes.
    • SystemAdmin
      SystemAdmin
      6772 Posts
      ACCEPTED ANSWER

      Re: DataPower Transactional Logging details

      ‏2013-02-18T17:40:14Z  in response to SystemAdmin
      I want to log each time a message is either sent or received, and hoping to save the transaction ID, correlation ID, and the status of the message, among other things.
      • SystemAdmin
        SystemAdmin
        6772 Posts
        ACCEPTED ANSWER

        Re: DataPower Transactional Logging details

        ‏2013-02-19T09:55:13Z  in response to SystemAdmin
        OK that's exactly what we are doing. We just poll the XML Management Interface every 10-15 minutes for all the transactions since the last poll. The request format is as follows. The maximum number of transactions is 1000, so you may need to submit a few requests to retrieve all the transactions between polling intervals.

        <?xml version="1.0" encoding="utf-8" ?>
        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
        <soapenv:Body>
        <dp:request xmlns:dp="http://www.datapower.com/schemas/management" domain="YourDomain">
        <dp:b2b-query-metadata>
        <dp:query>
        <dp:query-condition evaluation="property-greater-than">
        <dp:property-name>TransactionSetID</dp:property-name>
        <dp:value>YourLastTransactionSetID</dp:value>
        </dp:query-condition>
        </dp:query>
        <dp:result-constraints>
        <dp:max-rows>1000</dp:max-rows>
        <dp:sort-order>
        <dp:property-name direction="desc">TransactionSetID</dp:property-name>
        </dp:sort-order>
        </dp:result-constraints>
        </dp:b2b-query-metadata>
        </dp:request>
        </soapenv:Body>
        </soapenv:Envelope>

        This is probably the simplest solution. If you needed your transactions at closer to real-time, I suppose you could hook something into the Document Routing Preprocessor stylesheet of your B2B Gateway and fire the transactions to an MQ queue/topic.
        • DataExchdAdmin
          DataExchdAdmin
          1 Post
          ACCEPTED ANSWER

          Re: DataPower Transactional Logging details

          ‏2014-08-29T15:03:38Z  in response to SystemAdmin

          I know this was posted more than a year ago, but I am putting this together right now for my transaction logs.

          We are new to the XB62 world, but for the most part it is pretty intuitive.

           

          I have one XML Management Interface per XB62 but I have 2 domains on each one with a transaction log of their own.

          I am having troubles getting my pole to work using the b2b-query-metadata.

          Any advise ?