Migrated infopath form does not find UDCX file for rest query when opened in the browser
Question
We have migrated / moved some site, to a different Sharepoint location.
- Previous status: site was a root master site on a collection.
- Updated status: site is a subsite on a different site collection.
There is a Sharepoint list in the site, with a custom infopath form. The infopath form does make use of .udcx connection file in order to perform different REST queries against Sharepoint ( grab user information etc ).
Once the site was migrated / moved, infopath form could be opened in the browser, however, the .udcx file was not found, and therefore, REST query was NOT performed, leaving certain important form fields empty.
- The .udcx file location matches the one definied in the infopath, and it is fully accesible. However, infopath is not able to access the .udcx file.
- Form in the original site location works fine.
- Form in the new location works fine in preview mode ( infopath desktop app ). Browser mode does not work.
Solution
After some research, I found some people talking about bugs related with .udcx files and after infopath forms moved to different sites.
I realized that, even the infopath designer was showing the .udcx filepath as the correct one, once I exported the infopath manifest, the infopath was searching for the .udcx at the root site within the site collection, what means, a different location.
<xsf2:xmlFileAdapterExtension ref="REST Web Service" isRest="yes">
<xsf2:connectoid connectionLinkType="relative" source="Connections/rest.udcx" siteCollection="../../" name="REST Web Service"></xsf2:connectoid>
</xsf2:xmlFileAdapterExtension>
Therefore, all I had to do was to create the DataConnectionLibrary at root site collection level, and move my .udcx files over there.