Hi All,
I am having trouble with infopath promoted properties
I've created infopath form based on schema file.
lets say sample xml file looks like below.
<ns0:CargoBooking xmlns:ns0=http://xxx.xxx.xxx/CargoBooking>
<ns1:Booking xmlns:ns1=http://xxx.xxx.xxx/Booking>
<ns1:BookingRef>1243</ns1:BookingRef>
</ns1:Booking>
</ns0:CargoBooking>
I am Promoting bookingRef number.
If i create form directly from Library it will promote property, but my solution is integrated with biztalk so if biztalk puts the document, property promotion won't work.
and input file from biztalk looks like
<ns1:CargoBooking xmlns:ns1=http://xxx.xxx.xxx/CargoBooking>
<ns2:Booking xmlns:ns2=http://xxx.xxx.xxx/Booking>
<ns2:BookingRef>1243</ns2:BookingRef>
</ns2:Booking>
</ns1:CargoBooking>
Reason behind infopath not promoting property is, Infopath wants exact namesapace variable name, which i think not feasible. from my point of view above both files are same.
Solution tried:
I have opened manifest.xsf file and what i see is, it uses hard coded namespace variable name for promoted properties like below.
<xsf:fieldname="Booking Ref"columnName="{17EA8575-1E9D-4F04-B558-52F12F4C3882}"node="/ns0:CargoBooking/ns1:BookingRef"type="xsd:string"></xsf:field>
as per http://msdn.microsoft.com/en-us/library/office/bb264892(v=office.12).aspx artical, node is xpath expression. so i have tried to change it as "/*[local-name()='CargoBooking' and namespace-uri()='http://xxx.xxx.com/CargoBooking'/*[local-name()='BookingRef' and namespace-uri()='http://xxx.xxx.com/Booking']" which is valid xpath expression but infopath is not allowing me to republish the form with changed values. It gives me error saying "Column name BookingRef must be removed or modified from form's promoted property".
Can anybody suggest me any alternate solution as this is very critical problem for our project. I have given very basic example above, our infopath forms have almost 30-35 namespaces and realigning all namespaces according to infopath forms just for sake of promoted properties is very tedious task.
Any help would be appreciated,
Thanks,
Mital