I've attached two files. The first one is INVOICE, that is generated by every establishment when you purchase, and is in xml format.
The second one is XSLT file, that is provided by government fiscal institution and is used to "translate" xml.
PROBLEM DESCRIPTION: when I try to decode xml using attached xslt scheme on any online xml-converter website the output looks fine. BUT when importing to Filemaker, I receive an error: "XML parsing error: invalid document structure".
I would appreciate any help with the issue. Thanks.
Our network person and I have done a bunch of troubleshooting and came up with this summary and a few questions.
Ever since we installed FileMaker 16 in our two-machine setup, Zulu has been failing. In the Zulu error log from C:\Program Files\360Works\Applications\logs:
Oct 2, 2017 8:44:59 AM PDT com.prosc.mirror.config.server.FileMakerServerInfo getHostAddressForProperties
INFO: Will use 127.0.0.1:16020 for direct WPE address.
Oct 2, 2017 8:45:05 AM PDT com.prosc.fmpjdbc.FmXmlRequest doRequest
INFO: Starting request: http://127.0.0.1:16020/fmi/xml/FMPXMLRESULT.xml?-db=DatabaseName&-lay=ProscNoSuchTable&-view
Oct 2, 2017 8:45:05 AM PDT com.prosc.fmpjdbc.FmXmlRequest setProductVersion
WARNING: Null product version; assuming 12
Oct 2, 2017 8:45:05 AM PDT com.prosc.fmpjdbc.FileMakerException <init>
INFO: com.prosc.fmpjdbc.FileMakerException: Error 959: XML Web Publishing is not enabled - Run the FileMaker Server deployment assistant and make sure that the XML web publishing checkbox is selected () username: domain\user / requestUrl:http://127.0.0.1:16020/fmi/xml/FMPXMLRESULT.xml?-db=DatabaseName&-lay=ProscNoSuchTable&-view
I verified that the URL does indeed return an error code of 959. Playing around with it, I found that if you use the DNS name of the machine instead of the localhost IP:port (https://wpe.domain.edu/fmi/xml/FMPXMLRESULT.xml?-db=DatabaseName&-lay=ProscNoSuchTable&-view), the request returns an error 105 (expected response) instead.
I poked around on the internet trying to find out more about this, and discovered the -dbnames command; again, it works fine on the main https port (https://wpe.domain.edu/fmi/xml/FMPXMLRESULT.xml?-dbnames), but returns a 959 on the Custom Web Publishing port of 16020 (http://127.0.0.1:16020/fmi/xml/FMPXMLRESULT.xml?-dbnames). So it’s like XML is enabled on port 443, but not for the Custom Web Publishing port 16020. How is that possible?
For reasons we don’t fully understand and haven’t figure out how to correct, both the FileMaker Master and the Worker machines ended up with the Web Publishing Engine. So I tried the port 16020 request on the Master server, and it works! Which is great, except we want it to work on the Worker machine, not the Database server which ended up with a WPE.
1) We know XML is enabled on the main (port 443) site, what do we need to do to make work on the localhost:16020 site?
a. I hope this involves moving the ‘Web Server’ listed in the Admin Console to the Worker machine, but if not any info on what might be going on there would be great.
2) If we can’t get the Worker machine to realize XML is enabled on port 16020, can we change the FM config so Zulu doesn’t use port 16020 ‘for direct WPE address.’?
3) If we can’t do that, are there any issues with installing it on the Master, other than the obvious issue that we don’t want the WPE on that machine?
Thanks for any insight anyone might have.
I'm doing an export of a table with 5 fields to an Excel file with an XSL stylesheet to control the formatting of the Excel data. So far it's working well - I just need to add some additional formatting for a few of the cells. I'm looking for help with examples/syntax for setting the following attributes:
- making a cell bold
- changing the font size of a cell
- making all columns set to auto resize so they fit the contents of each column (same as double clicking the divider between 2 columns)
All fields I'm exporting are text fields.
By Jeff M
I've done quite a bit with FileMaker in the past, but have never jumped into the XML arena. Now I have a need to do so, and I'm really needing some help with something I'm sure is quite basic...but still foreign to me. I have an external data source which export XML in a very specific format (see attached). I need to import that into FileMaker so I can manipulate the data, do some various lookups, etc. Once I've made my changes in the data, I need to export in the exact format it was when imported so the external data source can properly import.
Not sure if it makes sense to import into 2 tables (workflows, workflow steps) or just a single table. I'm open either way. Once the data is in FileMaker I can get all my calculations and lookups and scripts going and make the data what I need it to be, but then I'll need to export it.
Can someone point me in the right direction?
Thanks so much in advance!
By Andreas T.
I need some help in determining if I am missing something crucial here or if there is a limitation or bug in the function BE_ApplyXSLT from the BaseElements plugin. I am using version 3.3.4 (which is the latest) on Mac OS X 10.11.6 using FileMaker 15 Adv. and 16 Adv.
I am unable to get any output from the transformation, nor any error.
According to the documentation, the command shall return either 0 when successful or an error. Link
In my testing it only returns blank, and gives no error even when no output file is generated. It should not return blank in cany case according to the docs. (I suspect there may be a documentation error and that it actually returns blank when there is no error.)
No error is found using Get(LastError). BE_GetLastError returns 0.
The function format is this:
BE_ApplyXSLT ( xmlPath ; xslt ; outputPath ) Here are the input parameters I have used:
BE_ApplyXSLT ( "/var/folders/y6/1yf76qcs5y91h_w4j27hxp980000gp/T/S10.2/ABC_nota_108.xml" ; BE_ReadTextFromFile ( "/var/folders/y6/1yf76qcs5y91h_w4j27hxp980000gp/T/S10.2/HTMLvisning/Stylesheet_Full.xsl" ); "/var/folders/y6/1yf76qcs5y91h_w4j27hxp980000gp/T/S10.2/output.html" ) I have verified that the files exist and that both the XML and XSLT are valid. All files are in UTF-8. I can transform the XML with this XSLT using other
methods without errors. I have also tried having the XSLT in a variable.
As I understand it, BaseElements uses the libxml2 engine. I have tried doing the transform from the command line directly and it works as it should:
xsltproc -o /var/folders/y6/1yf76qcs5y91h_w4j27hxp980000gp/T/S10.2/output.html /var/folders/y6/1yf76qcs5y91h_w4j27hxp980000gp/T/S10.2/HTMLvisning/Stylesheet_Full.xsl /var/folders/y6/1yf76qcs5y91h_w4j27hxp980000gp/T/S10.2/ABC_nota_108.xml It also works fine using the XMLLib OSAX in AppleScript. Unfortunately, I need Windows support also so I would like to get the BaseElements function to work.
I hope somone can shed some light on what may be going on.