Connecting FME to web services. Use of APIs. Mobile Apps.
Recently active
Is there a way to monitor the progress of an arcpy process that is running from PythonCaller? I'm running the Create Rapid Graphic tool, which is nested with various sub-processes to create the MXD. I'm not necessarily looking for a percentage complete, but rather which sub-process it may be working on at any given time.
Hi,We are using FME Server 2019.1.2 and Desktop 2019.0.2 currently. The FME Server instance is located in a VPC (removed environment) and the workbenches exist on organisation internal servers. We have many workbenches which run fine on schedules, however those with ArcGIS SDE readers/writers are failing due to the following error:Could not open the Enterprise Geodatabase. The error number from ArcObjects is: '-2147155559'. The error message from ArcObjects is: {Failure to access the DBMS server} It then asks you to check the connection parameters for the SDE connection file being used.These workbenches have been running fine for months however have failed within the last week.Can anyone assist?Thanks,Grant
Hi, I am using HTTPcaller in FME 2020 to send an HTTP request to a secured service. I have specified a basic authentication. When I run it, I get 401 error.If I copy the cookie from Chrome dev tools to FME HTTPCaller header, it works.However the cookie will expire, particularly as I will run my workspace once a week every week. How do I get a cookie generated for every call in HTTPcaller ?I have tried Save Cookies option, but don't see any difference. The request fails when the cookie expires.
When I use a HTTPCaller to PUT anything fme_binary, the hexadecimal representation as visible in the data inspector is included in the request body, instead of the actual raw bytes. This results in a bunch of unreadable files on the other end. If I do the put request using the same attribute with a PythonCaller as below everything works fine. The binary data are pngs serialized through a RasterExtractor directly before.Has anyone run into a similar issue before?So, this works: r = requests.put( url=url, data=body, headers={ 'Content-Type': 'image/png', 'x-ms-blob-type': 'BlockBlob'})This doesn't:
Can I read the info behind a lyr-files with FME? I am looking for a method to retrieve the source data of the layer via FME. And at best also the info of the legend itself (such as the font type used in the legend). Thank you very much
Good Afternoon,Is it possible to utilize FMEObjectsDotNet4 with ArcGIS Pro SDK? I am trying to develop a button using ArcPros SDK, that when a feature is selected in ArcPro and the button is clicked, an FME workbench runs. I currently have the feature selection completed, but when I try to utilize the "GetPublishedParamNames" method, I receive an "System.AccessViolationException: 'Attempted to read or write protected memory" error message.I'm fairly new to SDKs, so I may be utilizing things incorrectly. Any help would be greatly appreciated.Thanks!
Hi. I am trying to connect a Smartsheet sheet via the Smartsheet API to FME to be able to import the information for further processing. I attempted to use the HTTPCaller transformer for this. I have not been succesfull and seam to fail the authentication process even with using the correct token for the sheet. Is it possible to connect to Smartsheets in such a way? Is there any further advice that may help to achieve such a connection. I am using FME Desktop 2020. Examples would be great if this can be done.
I try to use the version 6.1.0 of Pillow. Using Python 3.6.The code runs fine locally but in FME it still loads version 5.2.0 of Pillow from which is in FME local folder.I set the Python compatibility to 3.6 and pointed to the correct interpreter and Python home dir. What should I do for FME to load the correct version?
HelloFollowing situation: Via HTTP-Caller I send a POST. Via the normal way, when I send the POST via a REST-Editor (Postman) then I got a response in JSON-Format with an URL, which I click it downloaded a zip-File with the data. My first question: How I catch in the HTTP-Caller the response? Or is a option to trigger immediately the download of the zipFile?Thanks
When running the pythoncaller I got an error:"Can't find a usable init.tcl in the following directories:"And no directories were actually mentioned, how helpful...The error came when it hit a line using matplotlib, it starts to create the figure"fig, ax = plt.subplots(figsize=(15, 10))". How can I fix that?I thought it was something horrible related to the tkinter install setup, environment variables, wrong versions, etc as I was using an alternative python interpreter, not the python 3.7 that comes with FME Desktop as I couldn't install all the modules I wanted with that one. Answer:Edit the Python module imports for matplotlib to add the 2 lines in bold:import matplotlibmatplotlib.use('Agg')import matplotlib.pyplot as pltimport matplotlib.colors as clr Apparently it has something to do with interactive and non interactive plotting.I'm answering my own question now as don't know if there is a reputation requirement. And just generally for ot
Hi, I have a link, an authorization and a token, to receive data through an API, how can I do this in FME? Could someone give me an example? Thank´s
Hi,I would like to update metadata of an item in ArcGIS Online using FME Desktop.With the help of Thomas Maschler I succeeded in updating the AOL metadata using a Python script: https://gist.github.com/FrieseWoudloper/590d428afce5d2d873bd6b4b81acc1d9I try to do the same in FME Deskop using HTTPCaller, but this isn't working properly. The workspace runs succesfully and returns HTTP status code 200 (OK), but the metadata is unchanged.See attached my workspace. I also have an XML-file for testing purposes.Any help would be appreciated.Willy
curl.exe --cacert Intermediate.cer --cacert root.cer --data "emailId=myemail@domain.com&password=MyPassword" https://dms.asite.com/apilogin/ I have tried doing this in FME using the guides, however I get a response error 200 invalid so I assume it is an issue with the certificates possibly? The curl command runs fine using the command line if the cert's are installed or if they are in the same dir as Curl.I have tried placing the certs in the following directorys;C:\\Program Files\\FME\\jre\\lib\\securityC:\\Program Files\\FME\\ssl I have tried changing Verify SSL Certificates to both Yes/No.I am using FME Workbench 2019.2 and below is how I have set it up so far: Thanks Adam
Hello,Since one or two major versions (I would say FME 2018 but not 100% sure) of FME Desktop, whenever I import feature classes from dataset of an ESRI writer (SDE, FGDB), they appear in red because the geometry type for the feature class is not configured. I am sure that it was not the case before and this information was retrieved from the geodatabase.Is it an issue on my side (misconfiguration of the writer ?) or is it on purpose ?I find it personally quite annoying when importing many feature classes. Is there a workaround ? Thanks !
I'm trying to use the FME Server REST service to get information about Job History, I'm using this call: https://<fmeserver_host>/fmerest/v3/transformations/jobs/completed?limit=-1&offset;=-1The problem is that it's only returning information about 1000 jobs when there are much more in there. We're running FME Server version 17725. I can't see anything about limits in the documentation and I'm wondering if this is a bug or if it's just undocumented. Can anyone test this call on their server to see if you see the same thing? I'm following it with a JSONFragmenter with 'json[*][*]' as the query to split up the response. I'd rather not build a workaround for this if it's a bug.
I use python caller to get data from json into FME desktop. Through few steps in Python, I exctract the data that I need and add it to a python dictionary. Basically this dictionary contains pairs of plan numbers (Unique Identifier) & coordinates for polygons (python list).The last few lines of my code are : plans_dict = dict() for each in campuses['campuses'][0]['sitePlanMetadata']['spatialMetadata']['planFootprints']: # creating dictionary with plancode as key and polygon coordinates as values plans_dict[each['planCode']] = each['polygons']['coordinates'] Then I tried to output the dictionary to my FME workbench to use the data in the next step, which is create a spatial dataset containing the polygons:output = plans_dictfeature.setAttribute("output", output) I get an error:Python Exception <TypeError>: Could not convert attribute value to a supported attribute type.Error encountered while calling function `processFeature'PythonCaller (PythonF
Hello,I'm trying to do a POST request, following this tutorial: https://developers.bimdata.io/tutorials/dev_get_access_token.htmlClient ID: dd094dd6-3a18-4555-8567-df53b368583fClient SECRET: a41e507e8e4819b118d145a94f0afcc06558b6842107c27babbf5f8fBut I can't figure it out.My thinking was that the --data part is just the upload body as a string, but apparently not.Would really appreciate some hints. Thanks in advance.Edit: Ok, after some trial and error: Upload body needs to be encoded as a URL, not text. Oh well...@FME moderation team: Could be helpful for othe FME users using the bimdata API, otherwise, feel free to delete.
This is the error I receive from the PythonCaller:Python Exception <ValueError>: 'L' is not in listTraceback (most recent call last): File "<string>", line 22, in inputValueError: 'L' is not in listError encountered while calling method `input'PythonCaller_3 (PythonFactory): PythonFactory failed to process feature Here is the python in the PythonCaller: it's reading two attributes from the ListBuilder. This runs on the same data without error in FME 2017 # Template Class Interface:# When using this class, make sure its name is set as the value of# the 'Class or Function to Process Features' transformer parameterclass FeatureProcessor(object): def __init__(self): pass def input(self,feature): self.listC = feature.getAttribute('_list{}.c') self.listL = feature.getAttribute('_list{}.l') self.list = zip(self.listC,self.listL) # if self.list != None: self.check =
I have a workspace which fetches data from a webservice, creates a new output and then submits said output to an e-mail recipient. Sometimes fetching the date throught the HTTPCaller fails due to the source being unavailable. Since this is an issue with a proxy which I cannot fix, I need my workspace to restart if fetching the data has failed. However, immediately retrying doesn't work because if the source is unavailable, it usually stays this way for a few minutes.I would therefore like my workspace to run and retry after 15 minutes if fetching the data fails. So far, I can think of the following solutions:encapsulate the httpCaller in a custom transformer and use a loop if no data is returned. Works ok but blocks one of the server-engines as long as the data source cannot be reached. Also the delay before the next rety needs to be set within the workspace.use a ServerJobSubmitter that runs the same workspace again - might lead to an endless loop. Again delay has to be set within
Need to query layers,Layer field attributes from an ArcGIS server mapservice after generating token from url (http://arcgisserver.com/arcgis/rest/services///MapServer/).Now I am struck at how to use generated token next for getting the layer related tables and attributes.Any help on how to use generated token.
I am attempting to download a number of files using the HTTP caller request.I currently have a large quantity of URLs in tabular form, each with an identical URL apart from the end part which follows this structure: "fileID=xxxxxxx&attach=true", where the xxxxxxx signifies the document UID (i.e. 1234567).When I run this request through the HTTP Caller (Get request as a file), the file returns the following error code:2020-04-28 09:28:43| 0.6| 0.0|ERROR |HTTPCaller (HTTPFactory): HTTP/FTP transfer error: 'URL using bad/illegal format or missing URL'2020-04-28 09:28:43| 0.6| 0.0|ERROR |HTTPCaller (HTTPFactory): Please ensure that your network connection is properly set up I am trying to identify a solution for this as the HTTP Caller clearly, as I believe, does not identify my request as a standard URL format.If I copy and paste this URL into a browser, the file automatically downloads.
Hi All,How to develop a tool that can be plugged into Cityworks map viewer to display an AutoCAD file format (*.dwg)?For example, we managed to develop a tool and plug it into Geocortex viewer so that end user can upload an AutoCAD file format and get it displayed into the viewer as shown in the screenshots below. The FME desktop and server capacity (creating workbench and publishing it) is used to develop the tool with particular configuration at the level of Windows (operating system) and Geocortex.Currently, we are trying to develop the same tool (displaying AutoCAD file format) and plug it into Cityworks map viewer. Is this something we can perform with the capacity of FME Desktop\\Server or an API Javascript code as it has been successfully completed for Geocortex viewer? Thanks In advanceLubna
Hi, I tried to have OSM as background map in FME Data Inspector, without success.Anybody can tell me how to do so ?
Trying to upload .SHP files into SFTP server using scheduler. I've tried FTPCaller and 'Upload to SFTP server' action (in FME 2019.1 Automation) but it doesn't authenticate and throws this error -Ensure correct host key is listed in the known hosts file In Automation, I've uploaded private key in SSH format to resources folder and passed it to 'Path to Hosts file' parameter. It doesn't get authenticated but was able to connect to SFTP server in WinSCP via private key. Not sure if the private key has to be in SSH format or PuTTY format for FME. Firstly can this be done?Also tried in FTPCaller with 'Upload from an Attribute' transfer type, but not sure of the URL value as it only has hostname and username.Please suggest. Thanks in advance!
I have a problem trying to access a FTPS server using the FTPCaller. I get an 'SSL connect error' when attempting to connect. The same process works in Filezilla. Can this be done in FME?