InfoPath, Repeating Table and System.InvalidOperationException

September 28th, 2011

Today I had hours of fun with InfoPath: What I was trying to do was basically fill some repeating groups with SharePoint list data by querying it programmatically with CAML. The problem was the "some": One group would work and some other ones would throw an exception like this one:

System.InvalidOperationException wurde nicht von Benutzercode behandelt.
Message="Nicht datentypbezogene Fehler bei der Schemaüberprüfung."
Source="Microsoft.Office.InfoPath.Client.Internal.Host.Interop"
StackTrace:
at Microsoft.MsoOffice.InfoPath.MsxmlInterop.MsxmlDocument.ThrowExceptionFromMsxmlInteropError(MsxmlInteropError eError)
at Microsoft.MsoOffice.InfoPath.MsxmlInterop.MsxmlDocument.ThrowExceptionFromHresult(Int32 hrError)
at Microsoft.MsoOffice.InfoPath.MsxmlInterop.MsxmlNodeImpl.AppendChild(String strXml)
at Microsoft.Office.InfoPath.MsxmlWriter.Close()
at System.Xml.XmlWellFormedWriter.Close()
at XYZ.FormCode.LoadAffectedProductsChoice()
at XYZ.FormCode.FormEvents_Loading(Object sender, LoadingEventArgs e)
at Microsoft.Office.InfoPath.Internal.FormEventsHost.OnLoad(DocReturnEvent pEvent)
at Microsoft.Office.Interop.InfoPath.SemiTrust._XDocumentEventSink2_SinkHelper.OnLoad(DocReturnEvent pEvent)

The code causing the problem looked like:

String myNamespace = NamespaceManager.LookupNamespace("my");
XPathNavigator node = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:RelatedCrsChoiceGroup", this.NamespaceManager);

using (XmlWriter writer = node.AppendChild())
{
writer.WriteStartElement("RelatedCrsChoice", myNamespace);
writer.WriteElementString("relatedCrId", myNamespace, "abc");
writer.WriteElementString("relatedCrTitle", myNamespace, "def");
writer.WriteEndElement();
writer.Close();
}

The issue was that I set up the repeating groups within one group. The last defined repeating group in the data connections would not throw the error, all others do.

The solution was as simple as to give every single repeating group a dedicated top group - and all errors were gone.

Ubuntu 8.04.4 LTS + mysqlhotcopy = "...at line 1 at /usr/bin/mysqlhotcopy line 473"

September 25th, 2011

Link: https://bugs.launchpad.net/ubuntu/+source/mysql-dfsg-5.0/+bug/296952

mysqlhotcopy throws strange errors when table names contain hyphens. It helps to comment out the lines 471 and 472 in /usr/bin/mysqlhotcopy.

SSH login by RSA key

September 25th, 2011

After setting up the key files on both the server and the client and trying to log in, the server would still ask for the password:

debug1: read PEM private key done: type RSA
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug2: we did not send a packet, disable method
debug1: Next authentication method: password
abc@xyz.intersignum.com's password:

In my case the solution was to have a look at the /var/log/auth.log file: It said something like  Authentication refused: bad ownership or modes for directory /home/... Probably I changed the mode of the home directory of the ssh user by accident. To change it back and ensure correct rights on the relevant files:

chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Ubuntu One + Tomboy

September 25th, 2011

Bei dem Unzug von Ubuntu 9.10 auf 11.04 auf meinem Desktop gingen mir Notizen verloren, die sich nicht mehr in dem Ordner ~/.tomboy befanden, sondern unter ~/.local/share/tomboy. Eine Kopie der fehlenden Notizen und ein Neustart von Tomboy genügte noch nicht, um sie wieder einzuspielen.

Mit Ubuntu One war das allerdings kein Problem: Man kann sich in Tomboy unter Bearbeiten > Einstellungen > Abgleichen > Dienst: Tomboy Web einen Ubuntu One Account zulegen und die Notizen von beiden Computern damit synchronisieren. Das hat auch den Vorteil, dass zwischenzeitlich geänderte Notizen zusätzlich automatisch mit einem Postfix versehen werden können, sodass man sie später innerhalb von Tomboy wieder zusammenführen kann.

"infopath cannot run the specified query. access is denied"

September 15th, 2011

Das Problem in der InfoPath-Voransicht lag in meinem Fall bei den Preview-Domaineinstellungen. Ich hatte nur die Domain angegeben ohne Pfade dahinter, allerdings keine Zugriffsrechte auf den "Root-Pfad" /. Durch Ändern der Preview-Domain auf den Pfad mit der SharePoint-Site, auf die ich Zugriff habe, lässt sich auch die Preview zum Laufen bringen.