Connecting FME to web services. Use of APIs. Mobile Apps.
Recently active
Does FME support connecting to Azure SQL Data Warehouse or Snowflake? We want to be able to connect to and move data from either (or both) of those data sources into postgresql.
If I am using the HTTPCaller to send large amounts of data to server, it adds a Expect: 100-continue in the header of the request. Our server doesn't know how to respond to that and is causing problems. Is there any way to configure the HTTPCaller to not add that header?
@Hello!I've issue that maybe you would know how to solve, description: I am using FME Server 2020 docker-compose version and I would like to automate its deployment to my purpose - by adding a script that is creating repository/publishing/running some .fmws on it by REST API. The script would be another docker in docker-compose file. Unfortunately, you have to change FME Server admin password just after the installation to do operation there, and I don't see any other way than doing it manually in the UI. I've tried doing it by REST API but I get:Authentication failed: Password needs to be changed and must be reset. Please login to the web interface to update your password Is there another way to manage this manual step in my deployment process? Another ideas how to automate such operation are welcome! Thank you for reading! 😎
Hi, End Goal: To have my FME server have a workspace where a user can draw a polygon shape, and FME provide a ZIP file containing all watermains within that polygon shape area. I have a workspace (attached) that reads an ArcGIS Online Feature Layer (water mains), and i am attempting to use a set of coordinates as GeoJSON to clip this selection and output the selected areas water mains.I have been using this tutorial as a guide - https://s3.amazonaws.com/gitbook/Server-Authoring-2020/ServerAuthoring3SelfServe/Exercise3.html - but I am unsure how to get the coordinate systems to match. I understand the two items (the user input and watermain feature layer) need to be in the same coordinate system in order for the clipper to work, and I have no idea how to achieve this with these two data sources.I created a parameter (similar to the screenshot) with a default which is surrounding our local city: If I use the Visual Preview to inspect the 'geometry replacer', which is using my m
I'm a blockhead: How can I read DWG files within a ZIP-file? I'm getting errors like this:ERROR |AutoCAD Reader: Error opening file 'c:\\temp_fme\\FME_TempFileStore_1598434178785_2600\\ds_1598434178786_2600\\5120.0400-025_T03_[20190509] - V_1598434178787_2600\\*.dwg' during version checkWARN |A fatal error has occurred. Check the logfile above for detailsERROR |Failed to obtain any schemas from reader 'ACAD' from 1 datasets. This may be due to invalid datasets or format accessibility issues due to licensing, dependencies, or module loading. See logfile for more information My main purpose is to read a folder, where several ZIP files are in which each contain one or more DWG files (directly or in subfolders). Any suggestions or hints?
I have a simple FME workbench published to our FME server that accepts a .bat file as the only published parameter.I cannot get the right syntax to get it working from a python request in a standalone python file. The end result will be running an FME server workbench from a QGIS python script tool within the QGIS desktop GUI. The idea is to use the speed of the server to get the results back to the user quicker than running it on their machine. The result from Python 3, using the example from the FME Server Website (changing fmerest/v2 to fmerest/v3 here: https://playground.fmeserver.com/python-request/): IDLE Console results:http://myserver:myport/fmerest/v3/transformations/commands/submit/DataProcessing/RunBatchFile.fmw Traceback (most recent call last): File "C:\GIS\Tools\ProjectSpecific\FME Run Workbench\Run Workbench from Python Request.py", line 35, in <module> r = urllib.request.urlopen(req) File "C:\Users\aallan.BUROHAPPOLD\AppData\Local\Programs\Python\Python37x64\lib
HI. I try connect unc path to resource in fme server (like: \\\\{nameserver}\\folder).And i start fme core by network service.But i have some errore, when created new resourse. "We couldn't find what you wanted "Network service have a permission to UNC.Do u know how i can connected?
Hi all, I am trying to use the following link to setup a json file and automated script to extract data. It is the first time I have attempted to do this and I have used the httpcaller and also tried the json reader to get an output. I am just trying to tackle this one step at a time and very eager to get my first API working. In terms of the link I used https://api.coronavirus.data.gov.uk/v1/data which I added to the httpcaller. It did pick this up and then i was not able to get anything from the attributexposer. Can anyone assist with what they would recommend as next steps? Link to dev guide - https://coronavirus.data.gov.uk/developers-guide
I have FME Desktop 2017 and ArcGIS 10.6.1 installed. I followed all the steps in the FME Integration Console, but I didn't get the desired result. What is the problem?Thank!
I installed Postgres and set up the data schema. The source of the data are from several external places including databases and hard drives. I need to copy certain fields from the database and save them in Postgres tables. What is the best workflow to do this? Any guidance and tutorials are welcome, thank you very much!
I am trying to convert Public Land Survey System (PLSS) township or section data (shapefile or file geodatabase feature class) into a DWG or DXF file for our cadastral lead using FME Workbench on Citrix. I generate a new workspace with Reader Format ESRI Shapefile (for example) and Writer Format Autodesk AutoCAD DWG/DXF. Both coordinate systems are NAD83 Idaho State Planes, East Zone, US Foot [EPSG #2241], so I set that for both Reader and Writer. I set Writer parameter to Extended Entity Data. When I bring output back into ArcMap or ArcPro, annotation table is empty and test dataset shows up off the coast of Nigeria. Our CAD person says same thing (that the dataset does not seem to have a coordinate system and no text attributes). Not sure what I am doing wrong.
In certain cases, a model has been revised or changed, while you have the FME AR app open. It would be great to be able to refresh/reload the file (same filename etc but with the latest changes), without having to send/download/upload. E.g. produce files directly to the cloud, and prompt the user that a newer version of your file has been detected (if you always get the files from e.g. Google Drive or similar).
Hello Safe Community! My name is Brandon Whitney and I am part of a partner organization, Cityworks. I am a technical trainer who specializes in such things as Cityworks APIs and SDKs, integration with other platforms, and anything code-based. I have been working with FME software for about a year now and am working with individuals both at Safe Software and Cityworks to develop training around using Cityworks with FME. Thank you all in advance for asking great questions and helping others with knowledge, insight, and experience.
I am trying to run webhooks on FME Server. The webhooks run successfully and I get status code 200 from the server but when I check the length of the data in the response it is 0, in this case 0. Is there a header I am missing?from urllib.request import urlopenfrom shutil import copyfileobjdef runwebhook(runurl): response = urlopen(runurl) if response.getcode()==200: print("Success") return responsedef savefilestream(filepath,response): if exists(filepath): remove(filepath) if isinstance(response.read(),bytes)==True: with open(filepath,'wb') as f: data = len(response.read()) print(data) copyfileobj(response, f) f.close() print("File Saved Successfully") else: with open(filepath,'w') as f: f.write(str(response.read())) f.close() print("File Saved as text")def runwebhookwithheaders(runurl,hooktoken): runresponse = None headers = { 'Authorization':f"fmeto
Hello,I have to connect to a WebSocket API (never even knew that excisted) which has an endpoint.wss://<IP>/api/v2/data/main/metricsThen I can send{ "Reference": "Get_reference", "Command": { "Get": { "Select": "Identifier", "Filter": "parameter" } }}And I should get a JSON back{ "Reference": "Get_reference", "Data": [ { // ... and so on }}I tried with WebSocketReceiver to connect to the API, I got the handshake and it keeps running. Then I created a workspace with a WebSocketSender to send the JSON but it only sends and I get no output. Is this even possible or should I use a PythonCaller? TIA Edit: I'm testing this in FME Workbench - is this someting the FME server should do? I found this: http://docs.safe.com/fme/2018.1/html/FME_Server_Documentation/Content/ReferenceManual/WebSocket-Server.htm
Dear FME users,This is an important notice regarding the FME Community web site.As you may be aware, we are in the process of moving the FME Community to a new platform and are now very close to launching.The final step is to migrate content to the new platform. The community will become read-only on July 28 at 7am PST. The community will continue to be read-only until at least July 30th. Until then you’ll be able to access content, but you won’t be able to post any new questions or answers.When data migration is complete, the community will switch to the new system and become fully active again.We wish to apologize in advance for the inconvenience, but rest assured that the new platform provides better functionality and capabilities that make it worth switching.For more information about the new community setup, and what it means for our users, sign up to our upcoming webinar on Everything You Wanted to Know About the FME Community (and Hackathon).RegardsMark (on behalf of Safe and es
I need daily weather data. I am using the API provided by the Dutch weather bureau (KNMI) in the httpcaller. The response contains a few lines of description before I get the data: # BRON: KONINKLIJK NEDERLANDS METEOROLOGISCH INSTITUUT (KNMI)# Opmerking: door stationsverplaatsingen en veranderingen in waarneemmethodieken zijn deze tijdreeksen van uurwaarden mogelijk inhomogeen! Dat betekent dat deze reeks van gemeten waarden niet geschikt is voor trendanalyse. Voor studies naar klimaatverandering verwijzen we naar de gehomogeniseerde reeks maandtemperaturen van De Bilt <http://www.knmi.nl/klimatologie/onderzoeksgegevens/homogeen_260/index.html> of de Centraal Nederland Temperatuur <http://www.knmi.nl/klimatologie/onderzoeksgegevens/CNT/>.# # # STN LON(east) LAT(north) ALT(m) NAME# 278: 6.259 52.435 3.60 HEINO# # YYYYMMDD = datum (YYYY=jaar,MM=maand,DD=dag); # HH = tijd (HH=uur, UT.12 UT=13 MET, 14 MEZT. Uurvak 05 loopt van 04.00 UT tot
I'm newbie to fme conversion area.I need to address fme rest api from javascript program to convert from autocad DWG format, to KML format.1. I need links to documantation which will explain how to do it, including not only the conversion API but also the registration stuff (authorization, session etc.) and I'll appreciate also some code examples.2. Am I right that I don't need to host fme server or use fme cloud, but simply address fme server API?3. How do I from javascript put Authorization not as query parameter but in the header?4. How do I specify the source file? by url? send it as is or as zip?Help will be greatly appreciated.Michael
I have some webhooks that I am migrating to a new FME Server, these were previously working on another FME Server instance. But now that I have migrated to a new FME Server these webhooks are returning HTTP 500. I have looked at the logs and in the catalina log there is this message Invalid character found in method name [lv[endof...]. HTTP method names must be tokens The request headers coming out of python look like this{'User-Agent': 'python-requests/2.24.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Authorization': 'fmetoken token=token', 'Content-Length': '0'} In the datastreaming log in FME Server I found thisThu-23-Jul-2020 10:21:35.970 AM FATAL http-nio-80-exec-6 412007 : Service failed: java.nio.file.AccessDeniedException: C:\ProgramData\Safe Software\FME Server\resources\system\temp\requestdata\9058908488982796417 When I paste the webhook into my browser with the token it works fine but when I use the same URL with the python re
Hi all, We have a FGDB that contains domain values and we are using the FGDB Open API Reader to read in the data. We have examples where a field has a modeled domain but a value is not a valid coded value. In this situation we are seeing that the value is being read into FME as an empty text string. I am guessing that FME has trying to get the description of the value, and because it does not exist it is returning an empty text string.I'm just checking to see whether anyone else has seen this and whether this is expected behavior?We are using FME to validate these values but by bring in a blank it does not really help. We tested using FME 2018.1 and 2020.0.If we use the arc-object FGDB reader we can resolve the domain and see the bad value. Unfortunately using this reader is not an option due to licensing. CheersAdie
Hey,So I have the below workflow, where the map_portal_request ArcGIS Online Feature Layer is updated, now I want the string "user already exists" written into a column called alburycity_comments if the update comes through stream A, but I want nothing written to this column the data comes through stream labelled B.I know I can do this, but cant work out the simple way to do it!The way I am thinking of doing it is adding an attribute manager at A, adding an attribute of TRUE, and then doing a Conditional Value in the User Attributes, as it will only be TRUE if it comes through stream A.Is this the most efficient way you can think of?
Hello World, I have access to an API where I can download features from a database.We want to be warned each time there is a new feature in it. In live.Is there some kind of API Watcher in FME Server I could do that?Running a workbench each minute isn't the best option for us though. Thanks!
I'm running a custom python interpreter (3.7 64 bit) as I cannot install the modules in the FME desktop python 3.7 environment. I have been running the custom python without issue for other modules I installed:The user-specified Python interpreter `C:\Users\aallan.BUROHAPPOLD\AppData\Local\Programs\Python\Python37x64\python37.dll' is version 3.7 with PYTHONHOME `C:\Users\aallan.BUROHAPPOLD\AppData\Local\Programs\Python\Python37x64'Python version 3.7 loaded successfullyAnd I managed to install osmnx and networkx in the custom environment.I have even been using osmnx and networkx successfully outside of FME using the IDLE IDE without problem, creating outputs etc. (nice ones). But back in FME, I try to import these modules I get this error:Error [line 50] [WinError 126] The specified module could not be foundLine 50: import osmnx as oxLine 51: import networkx as nxSo it gets tripped up on osmnx. I wonder whether it's lying when it said it successfully loaded my custom python environ
I have some python code that uploads a file to FME Server and then runs a webhook filename = outfile_file = os.path.basename(filename)token = ""fmehndlr = FMEHandler.FMEHandlerClass()fmehndlr.filename = _file ## set tokenfmehndlr.token = token## set upload locationfmehndlr.upurl = "http://000.00.0.103:8080/fmerest/v3/resources/connections/FME_SHAREDRESOURCE_TEMP/filesys"#### set parameter valuesrowtype = name.replace(" ",'%20')projectname = project.replace(" ",'%20')projectnumber = projectnum.replace(" ",'%20')scale = "1000"dwgname = _file.replace('.gdb',"").replace('.zip',"")+".dwg"dwgpath = os.path.join(projectfolder,dwgname)## url for webhook with parameters in it, you have to set this before upload if used with the AP41 flagfmehndlr.runurl = f"http://000.00.0:8080/fmedatastreaming/PlatFactory/conchoEasementCenterline.fmw?TEMPLATE=%24(FME_MF_DIR)CONCHO_TEMPLATE_CENTERLINE_EASEMENT.dwg&SCALE={scale}&SourceDataset_FILEGDB=%24(FME_SHAREDRESOURCE_TEMP)%2F{_file}&SPACE=PAGE%
I have an extremely simple workspace with a creator and an HTTPCaller that just downloads a file from a fixed location to a file share. Runs on my machine in fme desktop but when I publish to server, I get an error. However, the file successfully downloads when run from server. If I set the workspace parameter for Rejected Feature Handling to "Continue Translation" the workspace is successful and I get my file. So is this indicative of a problem? I don't want to get blocked from the wfas site if they don't like my request. FME Server 2019.2.1 Build 19813 - win64 FME Desktop 2019.2.1.0Build 19813 - win32 52HTTPCaller (HTTPFactory): HTTP/FTP Transfer: Downloading resource 'https://wfas.net/google-earth/wfas_nfdr.kmz' to local file '\\\\blah\\blah\\wfas_nfdr.zip'53HTTPCaller (HTTPFactory): HTTP transfer summary - status code: 403, download size: '3496 bytes', DNS lookup time: '0.001847 seconds', total transfer time: '0.214343 second