Error processing document created from notification

Hi, I’m a newbie to this and hope someone can take a moment to offer us some assistance.

We are running IS 6.0.1 with JDBC Adapter 6.0.2. We’re trying to send data from an Oracle 9.2.0.1 system to Sybase ASE 12. We made an adapter notification for inserts on an Oracle table, made a simple service to dump the pipeline out to a file then made a trigger element to associate these two. This works, we see the new data inserted into the Oracle table in the file dumped out.

We made a service that writes to Sybase – it has a document with 5 string variables within it as the entire input signature. We can run this and see data in Sybase fine.

We then made another service, that takes a document reference as the input signature (reference to the document created from the insert notification) and maps those fields from this document reference to the input for the service in the previous paragraph. We made a trigger to associate this service with the inserted document.

When we try to insert data in Oracle, the service fails and in the audit for the service in the previous paragraph in the console, we see the error message “com.wm.app.b2b.server.ServiceException: [ISS.0026.9103] No parameter named my_test:ins_sales_repPublishDocument”

Can someone tell us why? When we dump the pipeline out to disk, we see all the inserted data but how do we access this data coming in?

The triggered subscribing service input should have the fully qualified publishable document name(example:folder.subfolder:documentName)when you do documentReference(document)that inserting data to Oracle.

If you have any questions let us know,

HTH,

Hi! Thank you for your reply!

Lets say my document “myDocument” is in the package “myPackage” and in folder “myFolder”. Right now in the trigger, I reference “myFolder:myDocument”.

In the triggered service, under the “Input/Output” tab in Developer, I made a new variable under Input of type Document Reference and browsed to my document – here it said it was “myFolder:myDocument” again. When I tried to change this to “myPackage.myFolder:myDocument”, it said “[ITD.0004.0002] Specified node ‘myPackage.myFolder:myDocument’ not found.”

Did I put this document in the wrong place in my tree?

I think you might not clear with my comments.
To elaborate more,
When you set DocumentReference (Document)then specify the fully qualified document name for input variable name.
example:folder.subfolder:documentname(DocumentReference will show here)

(otherwise easy way is copy the documemt type and paste it on the input documentReference name and another option is get document path by right clicking the document in the input/output tab and select properties it will show DocumentReference).

HTH,

Note:
No need to include package name in the fully qualified document path,just start with main folder.

This is what causing the problem when you tried to set.

It works! So you have to name that reference the same… I had no idea. Thanks a lot!

I have one more question though… related to this. I have a number in the document and I want to map that to a string variable in a document. I tried to just connect them in the flow but that doesn’t seem to work. What’s the easiest way to do this number->string conversion?

Is that number coming in the document which you reference above? then just map direclty to any string variable that you want.
Why you want to do conversion?since in webmethods all the variables are java.lang.String including number variable (int).

If this is not clear,can you elaborate a bit more on the requirement.

HTH,

Yeah that number is in the document I’m trying to reference. Somehow when I map that directly to the input of my service that writes to Sybase, it’s not passing at all. I dumped the pipeline out to disk, and I see all string variables passed but this one integer is not passed.

I noticed as well when I try to run a service in Developer that has a document reference with integers, that the integer fields are not prompted for me to fill them in. Why is that?

After you specified the fully qualified document path that worked above now try again to map,it should work now.

Hi, I tried to map the integer to string input directly and it doesn’t work. It passes NULL over to the string input, even though I see an integer in the document (when I dump the pipeline to disk).

Can you pls upload the screen shot of your mapping,so to get a clear idea which causing this.

This is it: (you’ll see the SYSLS numeric field there)

screenshots
screenshots.zip (69.0 k)

Kap,
seen the images.Just it should be a simple work around.

In your JDBC Adapter notification service editor when you select the data from oracle just change the t1.SSAL field of OutputFieldType (java.lang.String)so it returns output SSAL (string).

This is the way we can handle any objects in the Adapter services.

HTH,

That works great, thank you very much.

Tell me something else… what do you do in the case of datetime fields? Do you convert them to strings as well then do some date-format conversions to make it match on the different systems?

yes…same thing…depends on the systems.