Is it possible to inject an XDS to the publisher channel?


Hi,

I know it's possible to inject XDS to the subscriber channel (heartbeats
make use of it for example),
but is it possible to inject an XDS to the publisher channel as well,
simulating an event from the connected system?

I actually don't need this functionality, and it seems awkward (it's
like tricking yourself) so I'm not
surprised if there isn't any way to do it. The reason i'm asking is
because I've started working on
a tiny util to help parse and display logs better. Not something
remotely big, professional or even
too reliable, but helpful nonetheless :)


--
YLivay
------------------------------------------------------------------------
YLivay's Profile: https://forums.netiq.com/member.php?userid=5678
View this thread: https://forums.netiq.com/showthread.php?t=48520

  • YLivay wrote:

    > I know it's possible to inject XDS to the subscriber channel (heartbeats
    > make use of it for example),
    > but is it possible to inject an XDS to the publisher channel as well,
    > simulating an event from the connected system?


    Don't think so, at least that's what I remember one of the developers answered
    when asked about it in one of Geoffs user group sessions.
  • YLivay wrote:

    > The reason i'm asking is
    > because I've started working on
    > a tiny util to help parse and display logs better.


    In that case, but then, get install a local Edir and Validator and use an LDAP,
    Edir2Edir or bi-dir Edir driver for testing. That way you can reproduce most
    kind of events easily by a mouse click...
  • 1. The Scripting driver allows you to submit arbitrary XDS documents on
    the publisher channel.

    (use the arguments -t xds as per the example right at the bottom of
    this page)

    https://www.netiq.com/documentation/idm402drivers/bi_impl_scripting/data/b8nrft0.html

    2. You could use the existing ability to submit a customised XDS into
    the subscriber channel with the actual XDS you want to run on the
    publisher channel embedded as operation data.
    Then you could have an input transform that looks for the success from
    the dummy event and clones out the op-data embedded XDS as an injected
    event on the publisher channel.

    If your driver shim properly supports it, a good dummy event is the
    activation query /driver ping. This should always be handled by the
    shim itself and not actually passed to the application.
    As long as the driver has properly started, the result should always be
    "success" and the operation data should be restored to the status event
    allowing you to manipulate it with an itp.

    3. As far as I know, the only XDS, that one can inject into any driver
    on the publisher channel is the equivalent of iManager's "migrate into
    IDV" feature.

    This take the form of an injected query against the application which
    results in a sync operation for each matched instance.

    You can achieve this via iManager or via dxcmd -migrateapp directly

    or via policy/ecmascript that calls dxcmd

    http://belkastconsulting.com/sites/public/content/using-dxcmd-initiate-driver-migrate

    or via LDAP extensions

    http://www.novell.com/documentation/developer/dirxml/dirxmlbk/api/com/novell/nds/dirxml/ldap/DirXMLExtensions.html

    MIGRATE_APP_REQ
    and
    MIGRATE_APP_RSP

    --
    If you find this post helpful and are logged into the web interface,
    show your appreciation and click on the star below...

  • Thanks a bunch, lhaeger and alexmchugh!
    I'll look up the Validator. So far i've been going over random logs from
    our development environment
    but I guess it's time for a bit more procedural controlled testing.

    alexchugh, I'm not sure the operational-data is relevant since it's not
    really a new transaction by itself (but very interesting approach :)).
    Anyways i'll take a look at the dxcmd migrate / ldap extension and see
    what it does. Thanks!


    --
    YLivay
    ------------------------------------------------------------------------
    YLivay's Profile: https://forums.netiq.com/member.php?userid=5678
    View this thread: https://forums.netiq.com/showthread.php?t=48520

  • YLivay wrote:

    > Thanks a bunch, lhaeger and alexmchugh!
    > I'll look up the Validator.


    Btw. a loopback driver and subscriber command injection via java call might be
    another option.
  • On 9/1/13 9:24 AM, YLivay wrote:
    >
    > Hi,
    >
    > I know it's possible to inject XDS to the subscriber channel (heartbeats
    > make use of it for example),
    > but is it possible to inject an XDS to the publisher channel as well,
    > simulating an event from the connected system?
    >
    > I actually don't need this functionality, and it seems awkward (it's
    > like tricking yourself) so I'm not
    > surprised if there isn't any way to do it. The reason i'm asking is
    > because I've started working on
    > a tiny util to help parse and display logs better. Not something
    > remotely big, professional or even
    > too reliable, but helpful nonetheless :)
    >
    >


    It would be relatively easy with any driver that supports publisher
    heartbeat to inject XDS as part of the heartbeat handling in the input
    transformation. Hard coding the XDS would be super easy, but not a big
    stretch to read the XDS to inject from a file or other source.

    --
    Shon