DBXL: Retrieving individual component files of a document type's XSN - Jimmy Rishe
in

InfoPath Dev

Jimmy Rishe

DBXL: Retrieving individual component files of a document type's XSN

DBXL does provide a way to retrieve the individual component files of a document type’s XSN, so it is possible to use this to get at a form’s XSD. The individual files can be accessed via this URL format:   

http(s)://<servername>/QdabraWebService/Forms/<doctypename>/<filename> 

So for example:

http://dbxl.myserver.net/QdabraWebService/Forms/ExpenseReport/myschema.xsd                   

 

By default, an InfoPath form’s main schema is in a file called myschema.xsd, but if the form uses a custom schema, it could have a different file name. If there’s a need to determine this dynamically, one can use the same URL format as above to retrieve the form’s manifest.xsf file, which will indicate what the main schema file is named:


<xsf:documentSchemas>

<xsf:documentSchema location="http://schemas.microsoft.com/office/infopath/2003/myXSD/2009-05-02T06:22:50 myschema.xsd"

rootSchema="yes"/>

</xsf:documentSchemas>


 By default, DBXL only allows access to certain types of template files, but additional ones can be enabled by adding entries to the list of httpHandlers in web.config. New entries could be added for */*.xsd and */*.xsf to enable retrieving the manifest and XSD:

 

< location path="Forms">

<system.web>

<httpHandlers>

< add verb="*" path="*/*.xsn" type="Qdabra.Dbxl.Implementation.DocumentRetrieval.TemplateHandler,Qdabra.Dbxl.Implementation" />

< add verb="GET,HEAD" path="*/*.xsl" type="Qdabra.Dbxl.Implementation.DocumentRetrieval.TemplateHandler,Qdabra.Dbxl.Implementation" />

< add verb="GET,HEAD" path="*/*.xml" type="Qdabra.Dbxl.Implementation.DocumentRetrieval.TemplateHandler,Qdabra.Dbxl.Implementation" />

< add verb="GET,HEAD" path="*/*.jpg" type="Qdabra.Dbxl.Implementation.DocumentRetrieval.TemplateHandler,Qdabra.Dbxl.Implementation" />

< add verb="GET,HEAD" path="*/*.gif" type="Qdabra.Dbxl.Implementation.DocumentRetrieval.TemplateHandler,Qdabra.Dbxl.Implementation" />

< add verb="GET,HEAD" path="*/*.png" type="Qdabra.Dbxl.Implementation.DocumentRetrieval.TemplateHandler,Qdabra.Dbxl.Implementation" />

< add verb="GET,HEAD" path="*/*.jpg" type="Qdabra.Dbxl.Implementation.DocumentRetrieval.TemplateHandler,Qdabra.Dbxl.Implementation" />

< add verb="GET,HEAD" path="*/*.htm" type="Qdabra.Dbxl.Implementation.DocumentRetrieval.TemplateHandler,Qdabra.Dbxl.Implementation" />

< add verb="GET,HEAD" path="*/*.css" type="Qdabra.Dbxl.Implementation.DocumentRetrieval.TemplateHandler,Qdabra.Dbxl.Implementation" />

</httpHandlers>

 

</system.web>

 

< /location>

 

 

Comments

No Comments
Copyright © 2003-2019 Qdabra Software. All rights reserved.
View our Terms of Use.