Neuron ESB User Network

The Service Bus for the Connected Business

I am currently receiving fixed length data on the ESB by way of the iSeries Dataqueue.  I would like to convert this data into an XML object as defined in our enterprise object schema.  I created an XML document in the Neuron Explorer to define the fields/length.  I then tried to create and XSL to map the fixed length data to the schema.  Being new to all this I was using the example at http://www.devx.com/getHelpOn/10MinuteSolution/20362/1954 as a reference. 

 

When I try to save the XSL I receive the following error:

"XSLT document is not valid.  Execution of the 'document()' function was prohibited.  Use the XsltSettings.EnableDocumentFunction property to enable it. An error occurred at (14,2)."

 

If I try to Test the XSL it gives me an error about the "Root element is missing."  I believe this is because I haven't correctly configured the Input for the test.

 

If there is a better method for doing this please let me know or point the way to some examples.

 

Thanks!

Views: 1172

Reply to This

Replies to This Discussion

Hi Ray,

Are you saying that you changed the EnableDocumentFunction property to True and applied the change in the Transform Step and it still made that error?
Where do change this property?
It's in the property grid on the lower right of the designer when you put the focus on the Transform Step. There should be 2 properties there, one for the document function and one for script.
I want to add the XSL under the Data/Transformation area and not the Pipeline designer.
That area is basically an inert storage area. What happens when you use an XSLT or an Schema from that area is it is copied into the pipeline (via the import menu in either the Transform or Validate Step).

So, you can use it for storage, import from there and do minimal testing but if you want full featured testing and actually run the transform like it would be done at runtime you need to import it and run it through the pipeline designer.
Thanks for the help so far ;-)

In my never ending saga of dealing with iSeries data, I am finding out that much of the data in the data queue is packed. So far I haven't been able to find any method using XSL for transforming packed data into XML decimal. So I thinking of a couple of different ways: using the Code pipeline step, calling a web service or creating a subscriber that will receive and convert these messages. Since this is a high volume message I don't think the latter 2 will work (basically all slot, pit, bingo, keno, etc... ratings will be processed). Any thoughts on how to handle this?

I tried using the Code method but I need to reference external DLLs which don't show in the Assembly Browser and I can't seem to select individual DLLs. Also when I put something simple in the Code Editor like a single line: "private String test;" and try to save, I get an error "There are compilation errors that must be resolved before saving" and yet no errors show in the Compile Errors area. Are there any examples for using the code editor?

Thanks!
We never disourage people from using code vs. XSLT so if that's easier definitely go that route.

The code editor accepts references from the GAC. So if you want to use a DLL of your own, sign it and GAC it.

If you just want to use the classes from preimported namespaces then for things like string you just declare it as

string myString = "some string";

If you want to work with classes from one of the dlls that are referenced by default but their namespaces are not preimported then you would type things like

System.Xml.XmlDocument doc = context.Data.ToXmlDocument();

You can think of everything inside the editor of a Code Step as being in a local method.

If you want to save state between steps then you can use

context.Properties.Add("mykey",[myobject]);

A Code Step How To is on my agenda and should be included in docs soon.

If you need to bang on it live or have me walk you through stuff live before then let me know and we'll LM.
So I was able to get the required files into the GAC (IKVM dlls and compiled java dll jt400.dll - again from the iSeries dataqueu adapter code). In the pipeline code editor I am able to reference all dlls except the jt400.dll which throws the attached exception. These file are all referenced by the adapter project and work as expected.

If we can't get this working I could modify the adapter code to be single purpose but that isn't the optimal solution.

Thanks for the help
Attachments:
Sorry for taking so ling today Ray. I'm going to ask dev to look at this...Still looks like something else may need to be GAC'd

RSS

Neuron ESB Product Support Forums and Communities

Latest Activity

Anupama Nair posted a discussion

Marketo Adapter Invalid Token

Hi,We are using the Marketo adapter to push account updates to Marketo. It works well for some time then starts failing with Invalid Token unless restarted. Is there a configuration that can be done so it can auto refresh the token when required?Thanks!See More
Nov 6, 2023
Sayantini Basak posted a discussion

Maximum payload size(REST API) for requests interfacing to NeuronESB

I am new to Neuron ESB and in our current scenario,We need to process batch transactions comprising of ~1000 records and send them to Neuron ESB for further processing. I would like to understand what is the maximum size of payload that can be transferred using REST interface to Neuron ESB.See More
Jul 22, 2022
Profile IconRobert E Dunie and Sayantini Basak joined Neuron ESB User Network
Apr 28, 2022
Profile IconDayanand, Frederic C, Steffen Greve-Oksfeldt and 1 more joined Neuron ESB User Network
Mar 16, 2022
Profile IconCam Vong and Mitja Luznar joined Neuron ESB User Network
Jan 27, 2022
Profile IconWill Hitzges, Chad Parsons, michael larsen and 4 more joined Neuron ESB User Network
Jun 11, 2021
Anupama Nair posted a discussion

ODBC stored proc polling with temporary tables

We have set up an ODBC adapter to poll a stored proc.We found that if the stored proc has a temporary table defined the rows returned are always 0.Any idea why this would be and what we can do to get around it?See More
Dec 14, 2020
Prasanth Kharade is now a member of Neuron ESB User Network
Dec 30, 2019

Badge

Loading…

© 2024   Created by Neuron Admin.   Powered by

Badges  |  Report an Issue  |  Terms of Service