Adapter notification adapter service in IS 6

Back in the days of WME 4.1, I could duplicate inserts between a pair of tables in an Oracle instance via the following steps:

  1. Create adapter for oracle instance.
  2. Create configured operation: insert notification
  3. Create configured operation: insert
  4. Create integration.
  5. Create integration component: notify
    a. specify trigger: insert notification from step 2.
    b. add output step
    i. create new event type
    ii. map fields from trigger
  6. Create integration component: insert.
    a. specify trigger: event from step 5.b.i
    b. add operation: insert from step 3.
    i. map fields from trigger.

Now I’m trying to do the same thing in Integration Server 6, and I’m wandering around the documentation in circles. I’ve configured a JDBC adapter to point to my Oracle instance, created an adapter notification for the source table, created an insert adapter service for the target table, but I’m at a loss as to how to hook the two together. Should I create a flow? If so, how do I specify that the flow should commence with the insert notification?

Is there a “getting started guide” that I just haven’t found yet?

Hi Bruce

I guess you would have made it by now. Just in case…

a) You need two flow services.
First to be called when the insert notification if fired and Second to be called to subscribe to the document published

b) You need two triggers. (if the entities are seperated in two package)
First to assign to our first flow service with the document type that is published
Second to assign to our second flow service with the subscribe document type

c) The first flow if needed might reformat the document and publish it (locally if broker is not involved)

d) The second flow will subscribe to this document (using settings from trigger) and will call your insert adapter service

It might give you a better picture (if I am not making it clear here) referencing the ISBuildingIntegrations.pdf

Good luck

Thahir

> Hi Bruce

Hi.

> I guess you would have made it by now.

Nope. Not even close.

> Just in case…

I appreciate the help.

> a) You need two flow services.

check.

> First to be called when the insert notification if fired and
> Second to be called to subscribe to the document published

OK.

> b) You need two triggers. (if the entities are seperated in
> two package)

What entities do you mean? So far I have an insert notification, an insert service, and two flows. All of them are in the same package.

> First to assign to our first flow service with the document type
> that is published

OK, this would, I assume, be the publishable document type that was created when I created the insert notification, yes?

> Second to assign to our second flow service with the
> subscribe document type

Is this the same document type used in the first trigger? If not, when do I create a second document type?

> c) The first flow if needed might reformat the document

There shouldn’t be any reformatting needed as the source and target tables have the same structure.

> and publish it (locally if broker is not involved)

I’m finding the documentation on publishing a document somewhat inadequate. The documentation says,

“The publish service expects to find a document (Data object) named document in the pipeline. If you are building a flow service, you will need to use the Pipeline Editor to map the document you want to publish to document.”

I don’t see anything in the documentation for the pipeline editor that explains how to add fields to the document called “document” so that I can map my publishable document’s fields to it. Or am I on the wrong track here?

> d) The second flow will subscribe to this document (using
> settings from trigger)

So will I wind up with two triggers, each having the original publishable document (from the insert notification) as their condition, but one triggering flow1 (the publish flow) and the other triggering flow 2 (the subscribe flow)?

> and will call your insert adapter service

OK, this part at least seems straightforward.

> It might give you a better picture (if I am not making it clear
> here) referencing the ISBuildingIntegrations.pdf

Well, I’m looking at that, and at ISDeveloperGuide.pdf, and at WMJDBCAdapterUserGuide.pdf, but I’m having a difficult time assembling a coherent picture. I didn’t have this kind of difficulty when learning to use WM 4.1; the quality of the documentation really seems to have deteriorated between releases.

> Good luck

Thanks again for your help.

Thahir,

Thanks very much for your detailed advice. I got a little off track at the following step:

> 3) You need one flow service. In its simplest form it should call
> the insert adapter service mentioned above. This flow service
> should take the publishable document as the input.

When I first read this I mistakenly assumed that this meant that I should go to the input/output tab of the flow and click on the selection button next to the field labelled “input” and select my publishable document as the value of that field. Our local webMethods rep, after a bit of research, corrected my error and showed me how to add a document reference to the large empty box BELOW the input field (as you know, this is done by clicking inside the box to enable the “abc” icon just beneath the Input/Output tab, clicking on the “abc” icon and selecting “document reference” from the resulting dropdown list). Once I had this part right, I merely needed to read and follow your advice about making sure I had the fully qualified name of the publishable document as the value of the document reference name and things worked perfectly.

Thanks again,

Bruce T.

Hi Friends,

I am trying the same and have execute the step in the same sequence as mentioned. but i am getting a error like
2003-08-13 14:18:15 GMT+05:30 [ISS.0098.0046D] Trigger DataSync:insertTrigger is
only available for Local Publishing. Unable to create subscription for Publisha
ble Document DataSync:insertNotificationPublishDocument: [ISS.0098.9008] No regi
stered Transport for the given id: RPeJ2OKLsVy8GkXe+wiZFIZEGTM__DataSync_insertTrigger

I have a webMethods 6.0 version without broker.
So is it possible without broker?
and can you tell me what can be the reason for the error

You have to use broker pub/sub of triggering to a Adapter service in your sequence.Pls try using broker it should help.

HTH.

i am just 25 days old in webMethods…i’am also having the same problem
UNABLE TO RETRIEVE THE DATA FROM THE NOTIFICATION PUBLISHABLE DOCUMENT
and even the BUFFER TABLE DOESNT CONTAIN ANY VALUES HOW COME? plz solve my problem

So far i have done these steps:

1)I created an insertNotification selected the source table to be monitored

2)A notification publishable document is created automatically

3)Created a flow service inside which i have created an insertAdapter Service which is supposed to insert the data from the buffer table to a
new table.

4)Created a trigger for the publishable document and calling the flow service there once the document is published

5)Enabled the polling notification

Still Nothing is getting inserted into the buffer table as well as the table used in the flow service

ps: Broker is not connected to my IS.I m publishing it locally

what is wrong with my procedure? PLZ HELP SOMEBODY AS SOON AS POSSIBLE

Jitender,

In your subscribing flowservice the Service Input signature should be “fully qualified publishable document Name”

for example:folder.subfolder:documentName(DocumentReference)

then only the data will be extracted and will be in the pipeline and continue with your mapping.put a savePipeLineToFile as a first step and later restore it to make sure the publishable document /data exists in the pipeline.

For testing purpose insert some rows into that table using any client like TOAD or SQL Plus and commit it.Then your Notification Adapter service should publish a document and triggers the flowservice which i have mentioned above.

HTH,
RMG.

Hai,
While creating insert adapter notification what we have to give as a base name? (The base name used to generate the Resource Name created by
the JDBC Adapter)
Regards,
ANAND

hai
while enabling notification in polling notifications this error is coming
"[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Cannot create a trigger on table ‘venkat.dbo.trig_test’ because you can only create a trigger on a table in the current database."Here venkat is my database name and trig_test is table name.Tell me what is wrong.

with regards,
venkat

Venkat,

Pls makesure that “Schema.trig_test” db table have sufficient privileges(Shared Table Schema to WMUser/triggers/synonyms etc…) to act as trigger notification if not contact your SQL DBA for enough access,then only JDBC polling notification will get enabled.

HTH,
RMG

hai RMG,

My SQL administrator provided all privileges to my database,but still i got same errors.Tell me where i am going wrong.
with regards,
venkat

Venkat,

It is clear that your db table still dont have enough privileges for triggering notification,may be you have follow up with WM admins and cross check with SQL DBA.

Also try deleting and making new JDBC notification service and try enabling it.

hai,
i created another insertnotification but still same errors occured while enable the notification in polling notification.Tell me where i am going wrong
with regards,
venkat