TTrasactionModeException - why?

Hi, since yesterday I’m catching an exceptions which was not there before:
class com.softwareag.tamino.db.api.connection.TTransactionModeChangeException: Local transaction mode could not be established. Falling back to autocommit mode!
NestedException:NestedException:HTTP error -1 null

In which situations is this exception thrown? In the meantime I played with virtual hosts in apache, but everything else works fine, including inserts from Interactive Interface

The offending code fragment is

code:

public void updatePatient(String name) {
TXMLObjectAccessor xmlObjectAccessor = connection.newXMLObjectAccessor(TAccessLocation.newInstance(“sample”), TJDOMObjectModel.getInstance());
TXPath xpath = TXPath.newInstance("/patient[name/surname=‘Atkins’]");

try {
TResponse response = xmlObjectAccessor.query(xpath);
TXMLObject xml = response.getFirstXMLObject();
org.jdom.Document responsedoc = (org.jdom.Document)xml.getDocument();
// we have to deal with namespaces here as a DOM2 parser works behind the curtains
Namespace xmlns$xql = responsedoc.getRootElement().getNamespace(“xql”);

// create a new examination with date and remarks children
org.jdom.Element examination = new org.jdom.Element(“examination”);

examination.addContent(new org.jdom.Element(“date”).addContent(new SimpleDateFormat(“yyyyMMdd:HHmmssSSS”).format(new Date())));
examination.addContent(new org.jdom.Element(“remarks”).addContent(“a new remark”));

// find the last examination by walking the children list back to front and insert the new examination atfer the last existing one, which is the first one
// we encounter when walking the list. stupid. i wonder when they will design a really useful api for manipulating documents.
List patientChildren = responsedoc.getRootElement().getChild(“result”, xmlns$xql).getChild(“patient”).getChildren();
for (int pos = patientChildren.size() - 1; pos >= 0; pos --) {
if (((org.jdom.Element)patientChildren.get(pos)).getName().equals(“examination”)) {
patientChildren.add(pos + 1, examination);
break;
}
}

// switch to transactional mode, not necessary here but we can see how we would do it
TLocalTransaction tx = connection.useLocalTransactionMode();

// we modified the which is still part of the parsed ino:response document and pass now this single subtree as XMLObject to update()
xmlObjectAccessor.update(xml);

// heee heee. like in real life: do a lot of work for nothing.
tx.rollback();

// let’s do it a second time
xmlObjectAccessor.update(xml);

// this time the update should happen
tx.commit();

// back to autocommit. not that it would make any sense now.
connection.useAutoCommitMode();

// thats it. this is only one way of many to do it, including passing the document through a stylesheet for modification …

}
catch (TQueryException e) {
System.out.println(e.getClass().toString() + ": " + e.getMessage());
}
catch (TTransactionModeChangeException e) {
System.out.println(e.getClass().toString() + ": " + e.getMessage());
}
catch (TTransactionException e) {
System.out.println(e.getClass().toString() + ": " + e.getMessage());
}
catch (TUpdateException e) {
System.out.println(e.getClass().toString() + ": " + e.getMessage());
}
}