Undefined namespace ino when doing Tamino update

Hi,

I’m trying to do an update by using XQuery and an accessor type of XML. This should allow me to iterate thru all the objects that were updated and should return something like the following.

<ino:object ino:collection="FormController" ino:doctype="Process" ino:id="1"/></pre><BR><BR>But I'm getting an error stating that the prefix ino is not defined.  How must I define the prefix ino.  Currently I get past this by using the stream accessor but would like to know how to get it to work with the xml accessor.<BR><BR>Here is the sequence<BR><BR><pre class="ip-ubbcode-code-pre"><?xml version="1.0" encoding="UTF-8"?>
<sequence version="3.0">
    <block>
        <!--{Name: set};{Notes: }-->
        <set property="xbd.tamino.server-url" value="http://server/tamino"/>
        <step component="SagTaminoConnection" xbd.tamino.action="start-session" xbd.tamino.connection-name="TaminoConnection" xbd.tamino.database="BDHub" xbd.tamino.isolation-degree="stableDocument"/>
        <!--{Name: Execute Initial Query};{Notes: }-->
        <step component="SagTaminoQuery" xbd.tamino.accessor="XML" xbd.tamino.collection="FormController" xbd.tamino.connection-name="TaminoConnection" xbd.tamino.xquery-text="update for $a in input()/Process where $a/ID = 'eee36c-ff63fa8b7c-5621cafb195c157d04f270a862963f86'  do replace $a/Name with <Name>RFQ1</Name>"/>
    </block>
</sequence>
</pre><BR><BR>Here is the message<BR><pre class="ip-ubbcode-code-pre">[slf5s.start]14 Oct 2004 15:14:52,796[slf5s.DATE] Thread-4[slf5s.THREAD] ERROR[slf5s.PRIORITY] xbd[slf5s.CATEGORY] - SagSequencer - SEQUENCER ERROR: sequence "http://jean-laptop:8080/mediator/BDHub/FormController/Sequence/StoreProcess.xml", line 8, <step>: com.softwareag.xbridge.exceptions.DocumentParseException: [Fatal Error] :1:116: The prefix "ino" for element "ino:object" is not bound.[slf5s.MESSAGE]
com.softwareag.xbridge.exceptions.DocumentParseException: [Fatal Error] :1:116: The prefix "ino" for element "ino:object" is not bound.
	at com.softwareag.xbridge.util.XMLEncodingChecker.getEncoding(DashOB6501:234)
	at com.softwareag.xbridge.util.XMLEncodingChecker.getEncodingFromStream(DashOB6501:196)
	at com.softwareag.xbridge.util.XMLEncodingChecker.getEncodingFromStream(DashOB6501:180)
	at com.softwareag.xbridge.infrastructure.l.a(DashOB6501:92)
	at com.softwareag.xbridge.infrastructure.j.a(DashOB6501:176)
	at com.softwareag.xbridge.infrastructure.g.a(DashOB6501:258)
	at com.softwareag.xbridge.infrastructure.g.a(DashOB6501:184)
	at com.softwareag.xbridge.infrastructure.Message.a(DashOB6501:911)
	at com.softwareag.xbridge.infrastructure.Message.a(DashOB6501:776)
	at com.softwareag.xbridge.tamino.TaminoQuery.modify(DashOB6501:373)
	at com.softwareag.xbridge.infrastructure.y.modify(DashOB6501:56)
	at com.softwareag.xbridge.sequencer.KeywordSTEP.execute(DashOB6501:148)
	at com.softwareag.xbridge.sequencer.SequencerImpl.execute(DashOB6501:573)
	at com.softwareag.xbridge.sequencer.SequencerImpl.dispatch(DashOB6501:293)
	at com.softwareag.xbridge.infrastructure.ac.perform(DashOB6501:235)
	at com.softwareag.xbridge.util.WorkerThread.run(DashOB6501:424)



Regards,
Jean

Now things are starting to get clearer. The error you are getting is caused by the xml-accessor style of handling documents returning from Tamino. It itterates through the returning document and passes only the individual xml fragments returned by your query. These fragments are not well formed XML and fail the Mediator parsing due to unbound namespaces. There are two solutions which should work for you:
1.) You can change the accessor type to stream.
This will return the entire ino document to Mediator including the response wrapper nodes which contain the prefix and namespace definitions.
2.) Use the serlialization QPI in Tamino to suppress the response wrapper. To suppress the response wrapper you should add the following line to the beginning of your Xquery:
{?serialization method=“xml”?}

Regards,

- Matthew G.

Thanks Matthew,

I’ve opted for option 1 but I consider this a work around.

Shouldn’t the Tamino component cater for this itself or at the very least mention this in the Mediator documentation?

Just my opinion.

Regards,
Jean

Hi Jean,

This has been reported as an error in the Tamino API. We are awaiting a correction.

Best regards,
Mike