Skip to main content
Solved

FME Server 2022.2.2 When sheduling a script password changes itself automatically


joy
Enthusiast
Forum|alt.badge.img+15
  • Enthusiast

In my colleague'script there is an ArcGISOnlineConnector and my colleague made a parameter of the password for the ArcGIS Online connection.

At FME Server, we first filled in the parameter for the workspace and made a testrun. The script ran and it works. However when I make a shedule of this script, fill in the parameters, after triggering once, then for some reason the value of the password gets the following string (see image below). I am not sure why that happens. Then I change the value to the correct pasword, however after triggering the schedule, the password changes itself again into that long password, while this long password is not defined in the script itself. Since the password is not correct, the script will fail since no connection can be made with ArcGIS Online. Does anyone might know why this happens and what I can do to get the original password all the time instead that it changes itself after running once succesfully.afbeelding

Best answer by siennaatsafe

joy wrote:

I think you are right, the password is probably correct and has probably no relation to the errors.

I trigger the script now and it now randomly succeeds or fails (look image below). That's kind interesting, since I don't change the password at all. Is there maybe some kind of cooldown on the server side of ArcGISOnline?

image 

In my colleague's script there is one ArcGISOnlineConnector and two HTTPCallers. For the two HTTPCallers the username and password is used. I think there is a reason why my colleague used two HTTPCallers instead of another two ArcGISOnlineConnector, but I will ask my colleague.

 

This is the error messages I receive. Name has been changed below for safety reasons

86	2023-4-12 15:09:32 | Python Exception <ConnectionError>: ('Connection aborted.'ConnectionResetError(10054'An existing connection was forcibly closed by the remote host'None10054None))
87	2023-4-12 15:09:33 | Traceback (most recent call last):
88	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 699in urlopen
89	2023-4-12 15:09:33 |     httplib_response = self._make_request(
90	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 382in _make_request
91	2023-4-12 15:09:33 |     self._validate_conn(conn)
92	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 1010in _validate_conn
93	2023-4-12 15:09:33 |     conn.connect()
94	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connection.py", line 416in connect
95	2023-4-12 15:09:33 |     self.sock = ssl_wrap_socket(
96	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 449in ssl_wrap_socket
97	2023-4-12 15:09:33 |     ssl_sock = _ssl_wrap_socket_impl(
98	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 493in _ssl_wrap_socket_impl
99	2023-4-12 15:09:33 |     return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
100	2023-4-12 15:09:33 |   File "ssl.py", line 513in wrap_socket
101	2023-4-12 15:09:33 |   File "ssl.py", line 1071in _create
102	2023-4-12 15:09:33 |   File "ssl.py", line 1342in do_handshake
103	2023-4-12 15:09:33 | ConnectionResetError: [WinError 10054An existing connection was forcibly closed by the remote host
104	2023-4-12 15:09:33 | 
105	2023-4-12 15:09:33 | During handling of the above exception, another exception occurred:
106	2023-4-12 15:09:33 | 
107	2023-4-12 15:09:33 | Traceback (most recent call last):
108	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\adapters.py", line 440in send
109	2023-4-12 15:09:33 |     resp = conn.urlopen(
110	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 755in urlopen
111	2023-4-12 15:09:33 |     retries = retries.increment(
112	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\retry.py", line 532in increment
113	2023-4-12 15:09:33 |     raise six.reraise(type(error), error, _stacktrace)
114	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\packages\six.py", line 769in reraise
115	2023-4-12 15:09:33 |     raise value.with_traceback(tb)
116	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 699in urlopen
117	2023-4-12 15:09:33 |     httplib_response = self._make_request(
118	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 382in _make_request
119	2023-4-12 15:09:33 |     self._validate_conn(conn)
120	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 1010in _validate_conn
121	2023-4-12 15:09:33 |     conn.connect()
122	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connection.py", line 416in connect
123	2023-4-12 15:09:33 |     self.sock = ssl_wrap_socket(
124	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 449in ssl_wrap_socket
125	2023-4-12 15:09:33 |     ssl_sock = _ssl_wrap_socket_impl(
126	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 493in _ssl_wrap_socket_impl
127	2023-4-12 15:09:33 |     return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
128	2023-4-12 15:09:33 |   File "ssl.py", line 513in wrap_socket
129	2023-4-12 15:09:33 |   File "ssl.py", line 1071in _create
130	2023-4-12 15:09:33 |   File "ssl.py", line 1342in do_handshake
131	2023-4-12 15:09:33 | urllib3.exceptions.ProtocolError: ('Connection aborted.'ConnectionResetError(10054'An existing connection was forcibly closed by the remote host'None10054None))
132	2023-4-12 15:09:33 | 
133	2023-4-12 15:09:33 | During handling of the above exception, another exception occurred:
134	2023-4-12 15:09:33 | 
135	2023-4-12 15:09:33 | Traceback (most recent call last):
136	2023-4-12 15:09:33 |   File "fme-utilities/src/fmegeneral\plugins.py", line 579in input
137	2023-4-12 15:09:33 |   File "\\NAMESHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\connector.py", line 354in pre_input
138	2023-4-12 15:09:33 |     super().pre_input(feature)
139	2023-4-12 15:09:33 |   File "fme-webfs/src/webserviceconnector\fmewebfs.py", line 677in pre_input
140	2023-4-12 15:09:33 |   File "fme-utilities/src/fmegeneral\plugins.py", line 560in pre_input
141	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\connector.py", line 377in setup
142	2023-4-12 15:09:33 |     self.driver.api = get_agol_api(connection_name, self.log)
143	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\session.py", line 79in get_agol_api
144	2023-4-12 15:09:33 |     session.handle_refresh_token_expiration(api.portal_self.get("maxTokenExpirationMinutes"))
145	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\api.py", line 256in portal_self
146	2023-4-12 15:09:33 |     self._portal_self = self.session.get(
147	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\sessions.py", line 542in get
148	2023-4-12 15:09:33 |     return self.request('GET', url, **kwargs)
149	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\session.py", line 31in parsed_request
150	2023-4-12 15:09:33 |     response = func(*args, **kwargs)
151	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\session.py", line 173in request
152	2023-4-12 15:09:33 |     response = super().request(method, url, **kwargs)
153	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\_vendor\fmetools\http.py", line 304in request
154	2023-4-12 15:09:33 |     return super(FMERequestsSessionself).request(method, url, **kwargs)
155	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\pypac\api.py", line 241in request
156	2023-4-12 15:09:33 |     raise request_exc  # In PY2, just saying 'raise' may re-raise ProxyConfigExhaustedError.
157	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\pypac\api.py", line 230in request
158	2023-4-12 15:09:33 |     response = super(PACSessionself).request(method, url, proxies=proxies, **kwargs)
159	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\sessions.py", line 529in request
160	2023-4-12 15:09:33 |     resp = self.send(prep, **send_kwargs)
161	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\sessions.py", line 645in send
162	2023-4-12 15:09:33 |     r = adapter.send(request, **kwargs)
163	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\adapters.py", line 501in send
164	2023-4-12 15:09:33 |     raise ConnectionError(err, request=request)
165	2023-4-12 15:09:33 | requests.exceptions.ConnectionError: ('Connection aborted.'ConnectionResetError(10054'An existing connection was forcibly closed by the remote host'None10054None))
166	2023-4-12 15:09:33 | 
167	2023-4-12 15:09:33 | Error encountered while calling method `input'
168	2023-4-12 15:09:33 | ArcGISOnlineConnector_CALLER (PythonFactory): PythonFactory failed to process feature

 

Hi @joy​ 

 

This is the first time I've seen that error in relation to the ArcGISOnlineConnector. 

 

However, since it looks to be intermittent I'd try changing your engine config to restart every time a job runs on your FME Server. 

 

These settings are found in /Server/ fmeServerConfig.txt – note that FME Server must be restarted for any changes to take effect.

 

Set:

MAX_TRANSACTION_RESULT_SUCCESSES=1

MAX_TRANSACTION_RESULT_FAILURES=1

 

Save the file. Then restart FME Server.

 

The other thing I can think of that could cause the error would be network issues, or maybe a large file download that's timing out.

 

 

View original
Did this help you find an answer to your question?

6 replies

redgeographics
Celebrity
Forum|alt.badge.img+50

Have you tried running it with that long password string? In my experience the password user parameter displays the default as a long * string, its actual length having no relation to the actual password length whatsoever.

 

And have you considered using a Web Connection rather than manually entering username/password?


joy
Enthusiast
Forum|alt.badge.img+15
  • Author
  • Enthusiast
  • April 12, 2023
redgeographics wrote:

Have you tried running it with that long password string? In my experience the password user parameter displays the default as a long * string, its actual length having no relation to the actual password length whatsoever.

 

And have you considered using a Web Connection rather than manually entering username/password?

I think you are right, the password is probably correct and has probably no relation to the errors.

I trigger the script now and it now randomly succeeds or fails (look image below). That's kind interesting, since I don't change the password at all. Is there maybe some kind of cooldown on the server side of ArcGISOnline?

image 

In my colleague's script there is one ArcGISOnlineConnector and two HTTPCallers. For the two HTTPCallers the username and password is used. I think there is a reason why my colleague used two HTTPCallers instead of another two ArcGISOnlineConnector, but I will ask my colleague.

 

This is the error messages I receive. Name has been changed below for safety reasons

86	2023-4-12 15:09:32 | Python Exception <ConnectionError>: ('Connection aborted.'ConnectionResetError(10054'An existing connection was forcibly closed by the remote host'None10054None))
87	2023-4-12 15:09:33 | Traceback (most recent call last):
88	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 699in urlopen
89	2023-4-12 15:09:33 |     httplib_response = self._make_request(
90	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 382in _make_request
91	2023-4-12 15:09:33 |     self._validate_conn(conn)
92	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 1010in _validate_conn
93	2023-4-12 15:09:33 |     conn.connect()
94	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connection.py", line 416in connect
95	2023-4-12 15:09:33 |     self.sock = ssl_wrap_socket(
96	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 449in ssl_wrap_socket
97	2023-4-12 15:09:33 |     ssl_sock = _ssl_wrap_socket_impl(
98	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 493in _ssl_wrap_socket_impl
99	2023-4-12 15:09:33 |     return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
100	2023-4-12 15:09:33 |   File "ssl.py", line 513in wrap_socket
101	2023-4-12 15:09:33 |   File "ssl.py", line 1071in _create
102	2023-4-12 15:09:33 |   File "ssl.py", line 1342in do_handshake
103	2023-4-12 15:09:33 | ConnectionResetError: [WinError 10054An existing connection was forcibly closed by the remote host
104	2023-4-12 15:09:33 | 
105	2023-4-12 15:09:33 | During handling of the above exception, another exception occurred:
106	2023-4-12 15:09:33 | 
107	2023-4-12 15:09:33 | Traceback (most recent call last):
108	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\adapters.py", line 440in send
109	2023-4-12 15:09:33 |     resp = conn.urlopen(
110	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 755in urlopen
111	2023-4-12 15:09:33 |     retries = retries.increment(
112	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\retry.py", line 532in increment
113	2023-4-12 15:09:33 |     raise six.reraise(type(error), error, _stacktrace)
114	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\packages\six.py", line 769in reraise
115	2023-4-12 15:09:33 |     raise value.with_traceback(tb)
116	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 699in urlopen
117	2023-4-12 15:09:33 |     httplib_response = self._make_request(
118	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 382in _make_request
119	2023-4-12 15:09:33 |     self._validate_conn(conn)
120	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 1010in _validate_conn
121	2023-4-12 15:09:33 |     conn.connect()
122	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connection.py", line 416in connect
123	2023-4-12 15:09:33 |     self.sock = ssl_wrap_socket(
124	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 449in ssl_wrap_socket
125	2023-4-12 15:09:33 |     ssl_sock = _ssl_wrap_socket_impl(
126	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 493in _ssl_wrap_socket_impl
127	2023-4-12 15:09:33 |     return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
128	2023-4-12 15:09:33 |   File "ssl.py", line 513in wrap_socket
129	2023-4-12 15:09:33 |   File "ssl.py", line 1071in _create
130	2023-4-12 15:09:33 |   File "ssl.py", line 1342in do_handshake
131	2023-4-12 15:09:33 | urllib3.exceptions.ProtocolError: ('Connection aborted.'ConnectionResetError(10054'An existing connection was forcibly closed by the remote host'None10054None))
132	2023-4-12 15:09:33 | 
133	2023-4-12 15:09:33 | During handling of the above exception, another exception occurred:
134	2023-4-12 15:09:33 | 
135	2023-4-12 15:09:33 | Traceback (most recent call last):
136	2023-4-12 15:09:33 |   File "fme-utilities/src/fmegeneral\plugins.py", line 579in input
137	2023-4-12 15:09:33 |   File "\\NAMESHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\connector.py", line 354in pre_input
138	2023-4-12 15:09:33 |     super().pre_input(feature)
139	2023-4-12 15:09:33 |   File "fme-webfs/src/webserviceconnector\fmewebfs.py", line 677in pre_input
140	2023-4-12 15:09:33 |   File "fme-utilities/src/fmegeneral\plugins.py", line 560in pre_input
141	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\connector.py", line 377in setup
142	2023-4-12 15:09:33 |     self.driver.api = get_agol_api(connection_name, self.log)
143	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\session.py", line 79in get_agol_api
144	2023-4-12 15:09:33 |     session.handle_refresh_token_expiration(api.portal_self.get("maxTokenExpirationMinutes"))
145	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\api.py", line 256in portal_self
146	2023-4-12 15:09:33 |     self._portal_self = self.session.get(
147	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\sessions.py", line 542in get
148	2023-4-12 15:09:33 |     return self.request('GET', url, **kwargs)
149	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\session.py", line 31in parsed_request
150	2023-4-12 15:09:33 |     response = func(*args, **kwargs)
151	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\session.py", line 173in request
152	2023-4-12 15:09:33 |     response = super().request(method, url, **kwargs)
153	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\_vendor\fmetools\http.py", line 304in request
154	2023-4-12 15:09:33 |     return super(FMERequestsSessionself).request(method, url, **kwargs)
155	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\pypac\api.py", line 241in request
156	2023-4-12 15:09:33 |     raise request_exc  # In PY2, just saying 'raise' may re-raise ProxyConfigExhaustedError.
157	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\pypac\api.py", line 230in request
158	2023-4-12 15:09:33 |     response = super(PACSessionself).request(method, url, proxies=proxies, **kwargs)
159	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\sessions.py", line 529in request
160	2023-4-12 15:09:33 |     resp = self.send(prep, **send_kwargs)
161	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\sessions.py", line 645in send
162	2023-4-12 15:09:33 |     r = adapter.send(request, **kwargs)
163	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\adapters.py", line 501in send
164	2023-4-12 15:09:33 |     raise ConnectionError(err, request=request)
165	2023-4-12 15:09:33 | requests.exceptions.ConnectionError: ('Connection aborted.'ConnectionResetError(10054'An existing connection was forcibly closed by the remote host'None10054None))
166	2023-4-12 15:09:33 | 
167	2023-4-12 15:09:33 | Error encountered while calling method `input'
168	2023-4-12 15:09:33 | ArcGISOnlineConnector_CALLER (PythonFactory): PythonFactory failed to process feature

 


redgeographics
Celebrity
Forum|alt.badge.img+50
joy wrote:

I think you are right, the password is probably correct and has probably no relation to the errors.

I trigger the script now and it now randomly succeeds or fails (look image below). That's kind interesting, since I don't change the password at all. Is there maybe some kind of cooldown on the server side of ArcGISOnline?

image 

In my colleague's script there is one ArcGISOnlineConnector and two HTTPCallers. For the two HTTPCallers the username and password is used. I think there is a reason why my colleague used two HTTPCallers instead of another two ArcGISOnlineConnector, but I will ask my colleague.

 

This is the error messages I receive. Name has been changed below for safety reasons

86	2023-4-12 15:09:32 | Python Exception <ConnectionError>: ('Connection aborted.'ConnectionResetError(10054'An existing connection was forcibly closed by the remote host'None10054None))
87	2023-4-12 15:09:33 | Traceback (most recent call last):
88	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 699in urlopen
89	2023-4-12 15:09:33 |     httplib_response = self._make_request(
90	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 382in _make_request
91	2023-4-12 15:09:33 |     self._validate_conn(conn)
92	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 1010in _validate_conn
93	2023-4-12 15:09:33 |     conn.connect()
94	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connection.py", line 416in connect
95	2023-4-12 15:09:33 |     self.sock = ssl_wrap_socket(
96	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 449in ssl_wrap_socket
97	2023-4-12 15:09:33 |     ssl_sock = _ssl_wrap_socket_impl(
98	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 493in _ssl_wrap_socket_impl
99	2023-4-12 15:09:33 |     return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
100	2023-4-12 15:09:33 |   File "ssl.py", line 513in wrap_socket
101	2023-4-12 15:09:33 |   File "ssl.py", line 1071in _create
102	2023-4-12 15:09:33 |   File "ssl.py", line 1342in do_handshake
103	2023-4-12 15:09:33 | ConnectionResetError: [WinError 10054An existing connection was forcibly closed by the remote host
104	2023-4-12 15:09:33 | 
105	2023-4-12 15:09:33 | During handling of the above exception, another exception occurred:
106	2023-4-12 15:09:33 | 
107	2023-4-12 15:09:33 | Traceback (most recent call last):
108	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\adapters.py", line 440in send
109	2023-4-12 15:09:33 |     resp = conn.urlopen(
110	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 755in urlopen
111	2023-4-12 15:09:33 |     retries = retries.increment(
112	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\retry.py", line 532in increment
113	2023-4-12 15:09:33 |     raise six.reraise(type(error), error, _stacktrace)
114	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\packages\six.py", line 769in reraise
115	2023-4-12 15:09:33 |     raise value.with_traceback(tb)
116	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 699in urlopen
117	2023-4-12 15:09:33 |     httplib_response = self._make_request(
118	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 382in _make_request
119	2023-4-12 15:09:33 |     self._validate_conn(conn)
120	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 1010in _validate_conn
121	2023-4-12 15:09:33 |     conn.connect()
122	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connection.py", line 416in connect
123	2023-4-12 15:09:33 |     self.sock = ssl_wrap_socket(
124	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 449in ssl_wrap_socket
125	2023-4-12 15:09:33 |     ssl_sock = _ssl_wrap_socket_impl(
126	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 493in _ssl_wrap_socket_impl
127	2023-4-12 15:09:33 |     return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
128	2023-4-12 15:09:33 |   File "ssl.py", line 513in wrap_socket
129	2023-4-12 15:09:33 |   File "ssl.py", line 1071in _create
130	2023-4-12 15:09:33 |   File "ssl.py", line 1342in do_handshake
131	2023-4-12 15:09:33 | urllib3.exceptions.ProtocolError: ('Connection aborted.'ConnectionResetError(10054'An existing connection was forcibly closed by the remote host'None10054None))
132	2023-4-12 15:09:33 | 
133	2023-4-12 15:09:33 | During handling of the above exception, another exception occurred:
134	2023-4-12 15:09:33 | 
135	2023-4-12 15:09:33 | Traceback (most recent call last):
136	2023-4-12 15:09:33 |   File "fme-utilities/src/fmegeneral\plugins.py", line 579in input
137	2023-4-12 15:09:33 |   File "\\NAMESHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\connector.py", line 354in pre_input
138	2023-4-12 15:09:33 |     super().pre_input(feature)
139	2023-4-12 15:09:33 |   File "fme-webfs/src/webserviceconnector\fmewebfs.py", line 677in pre_input
140	2023-4-12 15:09:33 |   File "fme-utilities/src/fmegeneral\plugins.py", line 560in pre_input
141	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\connector.py", line 377in setup
142	2023-4-12 15:09:33 |     self.driver.api = get_agol_api(connection_name, self.log)
143	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\session.py", line 79in get_agol_api
144	2023-4-12 15:09:33 |     session.handle_refresh_token_expiration(api.portal_self.get("maxTokenExpirationMinutes"))
145	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\api.py", line 256in portal_self
146	2023-4-12 15:09:33 |     self._portal_self = self.session.get(
147	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\sessions.py", line 542in get
148	2023-4-12 15:09:33 |     return self.request('GET', url, **kwargs)
149	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\session.py", line 31in parsed_request
150	2023-4-12 15:09:33 |     response = func(*args, **kwargs)
151	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\session.py", line 173in request
152	2023-4-12 15:09:33 |     response = super().request(method, url, **kwargs)
153	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\_vendor\fmetools\http.py", line 304in request
154	2023-4-12 15:09:33 |     return super(FMERequestsSessionself).request(method, url, **kwargs)
155	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\pypac\api.py", line 241in request
156	2023-4-12 15:09:33 |     raise request_exc  # In PY2, just saying 'raise' may re-raise ProxyConfigExhaustedError.
157	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\pypac\api.py", line 230in request
158	2023-4-12 15:09:33 |     response = super(PACSessionself).request(method, url, proxies=proxies, **kwargs)
159	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\sessions.py", line 529in request
160	2023-4-12 15:09:33 |     resp = self.send(prep, **send_kwargs)
161	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\sessions.py", line 645in send
162	2023-4-12 15:09:33 |     r = adapter.send(request, **kwargs)
163	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\adapters.py", line 501in send
164	2023-4-12 15:09:33 |     raise ConnectionError(err, request=request)
165	2023-4-12 15:09:33 | requests.exceptions.ConnectionError: ('Connection aborted.'ConnectionResetError(10054'An existing connection was forcibly closed by the remote host'None10054None))
166	2023-4-12 15:09:33 | 
167	2023-4-12 15:09:33 | Error encountered while calling method `input'
168	2023-4-12 15:09:33 | ArcGISOnlineConnector_CALLER (PythonFactory): PythonFactory failed to process feature

 

I'm not very familiar with ArcGIS Online errors, but it looks like @runneals​ here has run into the same error message: https://community.safe.com/s/question/0D54Q000080hJ3mSAE/arcgis-online-write-error


joy
Enthusiast
Forum|alt.badge.img+15
  • Author
  • Enthusiast
  • April 13, 2023
joy wrote:

I think you are right, the password is probably correct and has probably no relation to the errors.

I trigger the script now and it now randomly succeeds or fails (look image below). That's kind interesting, since I don't change the password at all. Is there maybe some kind of cooldown on the server side of ArcGISOnline?

image 

In my colleague's script there is one ArcGISOnlineConnector and two HTTPCallers. For the two HTTPCallers the username and password is used. I think there is a reason why my colleague used two HTTPCallers instead of another two ArcGISOnlineConnector, but I will ask my colleague.

 

This is the error messages I receive. Name has been changed below for safety reasons

86	2023-4-12 15:09:32 | Python Exception <ConnectionError>: ('Connection aborted.'ConnectionResetError(10054'An existing connection was forcibly closed by the remote host'None10054None))
87	2023-4-12 15:09:33 | Traceback (most recent call last):
88	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 699in urlopen
89	2023-4-12 15:09:33 |     httplib_response = self._make_request(
90	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 382in _make_request
91	2023-4-12 15:09:33 |     self._validate_conn(conn)
92	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 1010in _validate_conn
93	2023-4-12 15:09:33 |     conn.connect()
94	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connection.py", line 416in connect
95	2023-4-12 15:09:33 |     self.sock = ssl_wrap_socket(
96	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 449in ssl_wrap_socket
97	2023-4-12 15:09:33 |     ssl_sock = _ssl_wrap_socket_impl(
98	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 493in _ssl_wrap_socket_impl
99	2023-4-12 15:09:33 |     return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
100	2023-4-12 15:09:33 |   File "ssl.py", line 513in wrap_socket
101	2023-4-12 15:09:33 |   File "ssl.py", line 1071in _create
102	2023-4-12 15:09:33 |   File "ssl.py", line 1342in do_handshake
103	2023-4-12 15:09:33 | ConnectionResetError: [WinError 10054An existing connection was forcibly closed by the remote host
104	2023-4-12 15:09:33 | 
105	2023-4-12 15:09:33 | During handling of the above exception, another exception occurred:
106	2023-4-12 15:09:33 | 
107	2023-4-12 15:09:33 | Traceback (most recent call last):
108	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\adapters.py", line 440in send
109	2023-4-12 15:09:33 |     resp = conn.urlopen(
110	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 755in urlopen
111	2023-4-12 15:09:33 |     retries = retries.increment(
112	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\retry.py", line 532in increment
113	2023-4-12 15:09:33 |     raise six.reraise(type(error), error, _stacktrace)
114	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\packages\six.py", line 769in reraise
115	2023-4-12 15:09:33 |     raise value.with_traceback(tb)
116	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 699in urlopen
117	2023-4-12 15:09:33 |     httplib_response = self._make_request(
118	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 382in _make_request
119	2023-4-12 15:09:33 |     self._validate_conn(conn)
120	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 1010in _validate_conn
121	2023-4-12 15:09:33 |     conn.connect()
122	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connection.py", line 416in connect
123	2023-4-12 15:09:33 |     self.sock = ssl_wrap_socket(
124	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 449in ssl_wrap_socket
125	2023-4-12 15:09:33 |     ssl_sock = _ssl_wrap_socket_impl(
126	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 493in _ssl_wrap_socket_impl
127	2023-4-12 15:09:33 |     return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
128	2023-4-12 15:09:33 |   File "ssl.py", line 513in wrap_socket
129	2023-4-12 15:09:33 |   File "ssl.py", line 1071in _create
130	2023-4-12 15:09:33 |   File "ssl.py", line 1342in do_handshake
131	2023-4-12 15:09:33 | urllib3.exceptions.ProtocolError: ('Connection aborted.'ConnectionResetError(10054'An existing connection was forcibly closed by the remote host'None10054None))
132	2023-4-12 15:09:33 | 
133	2023-4-12 15:09:33 | During handling of the above exception, another exception occurred:
134	2023-4-12 15:09:33 | 
135	2023-4-12 15:09:33 | Traceback (most recent call last):
136	2023-4-12 15:09:33 |   File "fme-utilities/src/fmegeneral\plugins.py", line 579in input
137	2023-4-12 15:09:33 |   File "\\NAMESHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\connector.py", line 354in pre_input
138	2023-4-12 15:09:33 |     super().pre_input(feature)
139	2023-4-12 15:09:33 |   File "fme-webfs/src/webserviceconnector\fmewebfs.py", line 677in pre_input
140	2023-4-12 15:09:33 |   File "fme-utilities/src/fmegeneral\plugins.py", line 560in pre_input
141	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\connector.py", line 377in setup
142	2023-4-12 15:09:33 |     self.driver.api = get_agol_api(connection_name, self.log)
143	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\session.py", line 79in get_agol_api
144	2023-4-12 15:09:33 |     session.handle_refresh_token_expiration(api.portal_self.get("maxTokenExpirationMinutes"))
145	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\api.py", line 256in portal_self
146	2023-4-12 15:09:33 |     self._portal_self = self.session.get(
147	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\sessions.py", line 542in get
148	2023-4-12 15:09:33 |     return self.request('GET', url, **kwargs)
149	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\session.py", line 31in parsed_request
150	2023-4-12 15:09:33 |     response = func(*args, **kwargs)
151	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\session.py", line 173in request
152	2023-4-12 15:09:33 |     response = super().request(method, url, **kwargs)
153	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\_vendor\fmetools\http.py", line 304in request
154	2023-4-12 15:09:33 |     return super(FMERequestsSessionself).request(method, url, **kwargs)
155	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\pypac\api.py", line 241in request
156	2023-4-12 15:09:33 |     raise request_exc  # In PY2, just saying 'raise' may re-raise ProxyConfigExhaustedError.
157	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\pypac\api.py", line 230in request
158	2023-4-12 15:09:33 |     response = super(PACSessionself).request(method, url, proxies=proxies, **kwargs)
159	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\sessions.py", line 529in request
160	2023-4-12 15:09:33 |     resp = self.send(prep, **send_kwargs)
161	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\sessions.py", line 645in send
162	2023-4-12 15:09:33 |     r = adapter.send(request, **kwargs)
163	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\adapters.py", line 501in send
164	2023-4-12 15:09:33 |     raise ConnectionError(err, request=request)
165	2023-4-12 15:09:33 | requests.exceptions.ConnectionError: ('Connection aborted.'ConnectionResetError(10054'An existing connection was forcibly closed by the remote host'None10054None))
166	2023-4-12 15:09:33 | 
167	2023-4-12 15:09:33 | Error encountered while calling method `input'
168	2023-4-12 15:09:33 | ArcGISOnlineConnector_CALLER (PythonFactory): PythonFactory failed to process feature

 

@Hans van der Maarel​ Our situation is a bit different. We don't write information to ArcGISOnline, but read information from ArcGISOnline. So steps 2 till 4 in the post from @runneals​ is not something we can do. Maybe I should rewrite the title of this post or post another post so it's clear that this problem related to the arcgisonlineconnector.


siennaatsafe
Safer
Forum|alt.badge.img+11
  • Safer
  • Best Answer
  • April 14, 2023
joy wrote:

I think you are right, the password is probably correct and has probably no relation to the errors.

I trigger the script now and it now randomly succeeds or fails (look image below). That's kind interesting, since I don't change the password at all. Is there maybe some kind of cooldown on the server side of ArcGISOnline?

image 

In my colleague's script there is one ArcGISOnlineConnector and two HTTPCallers. For the two HTTPCallers the username and password is used. I think there is a reason why my colleague used two HTTPCallers instead of another two ArcGISOnlineConnector, but I will ask my colleague.

 

This is the error messages I receive. Name has been changed below for safety reasons

86	2023-4-12 15:09:32 | Python Exception <ConnectionError>: ('Connection aborted.'ConnectionResetError(10054'An existing connection was forcibly closed by the remote host'None10054None))
87	2023-4-12 15:09:33 | Traceback (most recent call last):
88	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 699in urlopen
89	2023-4-12 15:09:33 |     httplib_response = self._make_request(
90	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 382in _make_request
91	2023-4-12 15:09:33 |     self._validate_conn(conn)
92	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 1010in _validate_conn
93	2023-4-12 15:09:33 |     conn.connect()
94	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connection.py", line 416in connect
95	2023-4-12 15:09:33 |     self.sock = ssl_wrap_socket(
96	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 449in ssl_wrap_socket
97	2023-4-12 15:09:33 |     ssl_sock = _ssl_wrap_socket_impl(
98	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 493in _ssl_wrap_socket_impl
99	2023-4-12 15:09:33 |     return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
100	2023-4-12 15:09:33 |   File "ssl.py", line 513in wrap_socket
101	2023-4-12 15:09:33 |   File "ssl.py", line 1071in _create
102	2023-4-12 15:09:33 |   File "ssl.py", line 1342in do_handshake
103	2023-4-12 15:09:33 | ConnectionResetError: [WinError 10054An existing connection was forcibly closed by the remote host
104	2023-4-12 15:09:33 | 
105	2023-4-12 15:09:33 | During handling of the above exception, another exception occurred:
106	2023-4-12 15:09:33 | 
107	2023-4-12 15:09:33 | Traceback (most recent call last):
108	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\adapters.py", line 440in send
109	2023-4-12 15:09:33 |     resp = conn.urlopen(
110	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 755in urlopen
111	2023-4-12 15:09:33 |     retries = retries.increment(
112	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\retry.py", line 532in increment
113	2023-4-12 15:09:33 |     raise six.reraise(type(error), error, _stacktrace)
114	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\packages\six.py", line 769in reraise
115	2023-4-12 15:09:33 |     raise value.with_traceback(tb)
116	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 699in urlopen
117	2023-4-12 15:09:33 |     httplib_response = self._make_request(
118	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 382in _make_request
119	2023-4-12 15:09:33 |     self._validate_conn(conn)
120	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 1010in _validate_conn
121	2023-4-12 15:09:33 |     conn.connect()
122	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connection.py", line 416in connect
123	2023-4-12 15:09:33 |     self.sock = ssl_wrap_socket(
124	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 449in ssl_wrap_socket
125	2023-4-12 15:09:33 |     ssl_sock = _ssl_wrap_socket_impl(
126	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 493in _ssl_wrap_socket_impl
127	2023-4-12 15:09:33 |     return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
128	2023-4-12 15:09:33 |   File "ssl.py", line 513in wrap_socket
129	2023-4-12 15:09:33 |   File "ssl.py", line 1071in _create
130	2023-4-12 15:09:33 |   File "ssl.py", line 1342in do_handshake
131	2023-4-12 15:09:33 | urllib3.exceptions.ProtocolError: ('Connection aborted.'ConnectionResetError(10054'An existing connection was forcibly closed by the remote host'None10054None))
132	2023-4-12 15:09:33 | 
133	2023-4-12 15:09:33 | During handling of the above exception, another exception occurred:
134	2023-4-12 15:09:33 | 
135	2023-4-12 15:09:33 | Traceback (most recent call last):
136	2023-4-12 15:09:33 |   File "fme-utilities/src/fmegeneral\plugins.py", line 579in input
137	2023-4-12 15:09:33 |   File "\\NAMESHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\connector.py", line 354in pre_input
138	2023-4-12 15:09:33 |     super().pre_input(feature)
139	2023-4-12 15:09:33 |   File "fme-webfs/src/webserviceconnector\fmewebfs.py", line 677in pre_input
140	2023-4-12 15:09:33 |   File "fme-utilities/src/fmegeneral\plugins.py", line 560in pre_input
141	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\connector.py", line 377in setup
142	2023-4-12 15:09:33 |     self.driver.api = get_agol_api(connection_name, self.log)
143	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\session.py", line 79in get_agol_api
144	2023-4-12 15:09:33 |     session.handle_refresh_token_expiration(api.portal_self.get("maxTokenExpirationMinutes"))
145	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\api.py", line 256in portal_self
146	2023-4-12 15:09:33 |     self._portal_self = self.session.get(
147	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\sessions.py", line 542in get
148	2023-4-12 15:09:33 |     return self.request('GET', url, **kwargs)
149	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\session.py", line 31in parsed_request
150	2023-4-12 15:09:33 |     response = func(*args, **kwargs)
151	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\session.py", line 173in request
152	2023-4-12 15:09:33 |     response = super().request(method, url, **kwargs)
153	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\_vendor\fmetools\http.py", line 304in request
154	2023-4-12 15:09:33 |     return super(FMERequestsSessionself).request(method, url, **kwargs)
155	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\pypac\api.py", line 241in request
156	2023-4-12 15:09:33 |     raise request_exc  # In PY2, just saying 'raise' may re-raise ProxyConfigExhaustedError.
157	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\pypac\api.py", line 230in request
158	2023-4-12 15:09:33 |     response = super(PACSessionself).request(method, url, proxies=proxies, **kwargs)
159	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\sessions.py", line 529in request
160	2023-4-12 15:09:33 |     resp = self.send(prep, **send_kwargs)
161	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\sessions.py", line 645in send
162	2023-4-12 15:09:33 |     r = adapter.send(request, **kwargs)
163	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\adapters.py", line 501in send
164	2023-4-12 15:09:33 |     raise ConnectionError(err, request=request)
165	2023-4-12 15:09:33 | requests.exceptions.ConnectionError: ('Connection aborted.'ConnectionResetError(10054'An existing connection was forcibly closed by the remote host'None10054None))
166	2023-4-12 15:09:33 | 
167	2023-4-12 15:09:33 | Error encountered while calling method `input'
168	2023-4-12 15:09:33 | ArcGISOnlineConnector_CALLER (PythonFactory): PythonFactory failed to process feature

 

Hi @joy​ 

 

This is the first time I've seen that error in relation to the ArcGISOnlineConnector. 

 

However, since it looks to be intermittent I'd try changing your engine config to restart every time a job runs on your FME Server. 

 

These settings are found in /Server/ fmeServerConfig.txt – note that FME Server must be restarted for any changes to take effect.

 

Set:

MAX_TRANSACTION_RESULT_SUCCESSES=1

MAX_TRANSACTION_RESULT_FAILURES=1

 

Save the file. Then restart FME Server.

 

The other thing I can think of that could cause the error would be network issues, or maybe a large file download that's timing out.

 

 


joy
Enthusiast
Forum|alt.badge.img+15
  • Author
  • Enthusiast
  • April 19, 2023
joy wrote:

I think you are right, the password is probably correct and has probably no relation to the errors.

I trigger the script now and it now randomly succeeds or fails (look image below). That's kind interesting, since I don't change the password at all. Is there maybe some kind of cooldown on the server side of ArcGISOnline?

image 

In my colleague's script there is one ArcGISOnlineConnector and two HTTPCallers. For the two HTTPCallers the username and password is used. I think there is a reason why my colleague used two HTTPCallers instead of another two ArcGISOnlineConnector, but I will ask my colleague.

 

This is the error messages I receive. Name has been changed below for safety reasons

86	2023-4-12 15:09:32 | Python Exception <ConnectionError>: ('Connection aborted.'ConnectionResetError(10054'An existing connection was forcibly closed by the remote host'None10054None))
87	2023-4-12 15:09:33 | Traceback (most recent call last):
88	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 699in urlopen
89	2023-4-12 15:09:33 |     httplib_response = self._make_request(
90	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 382in _make_request
91	2023-4-12 15:09:33 |     self._validate_conn(conn)
92	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 1010in _validate_conn
93	2023-4-12 15:09:33 |     conn.connect()
94	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connection.py", line 416in connect
95	2023-4-12 15:09:33 |     self.sock = ssl_wrap_socket(
96	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 449in ssl_wrap_socket
97	2023-4-12 15:09:33 |     ssl_sock = _ssl_wrap_socket_impl(
98	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 493in _ssl_wrap_socket_impl
99	2023-4-12 15:09:33 |     return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
100	2023-4-12 15:09:33 |   File "ssl.py", line 513in wrap_socket
101	2023-4-12 15:09:33 |   File "ssl.py", line 1071in _create
102	2023-4-12 15:09:33 |   File "ssl.py", line 1342in do_handshake
103	2023-4-12 15:09:33 | ConnectionResetError: [WinError 10054An existing connection was forcibly closed by the remote host
104	2023-4-12 15:09:33 | 
105	2023-4-12 15:09:33 | During handling of the above exception, another exception occurred:
106	2023-4-12 15:09:33 | 
107	2023-4-12 15:09:33 | Traceback (most recent call last):
108	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\adapters.py", line 440in send
109	2023-4-12 15:09:33 |     resp = conn.urlopen(
110	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 755in urlopen
111	2023-4-12 15:09:33 |     retries = retries.increment(
112	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\retry.py", line 532in increment
113	2023-4-12 15:09:33 |     raise six.reraise(type(error), error, _stacktrace)
114	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\packages\six.py", line 769in reraise
115	2023-4-12 15:09:33 |     raise value.with_traceback(tb)
116	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 699in urlopen
117	2023-4-12 15:09:33 |     httplib_response = self._make_request(
118	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 382in _make_request
119	2023-4-12 15:09:33 |     self._validate_conn(conn)
120	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connectionpool.py", line 1010in _validate_conn
121	2023-4-12 15:09:33 |     conn.connect()
122	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\connection.py", line 416in connect
123	2023-4-12 15:09:33 |     self.sock = ssl_wrap_socket(
124	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 449in ssl_wrap_socket
125	2023-4-12 15:09:33 |     ssl_sock = _ssl_wrap_socket_impl(
126	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\urllib3\util\ssl_.py", line 493in _ssl_wrap_socket_impl
127	2023-4-12 15:09:33 |     return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
128	2023-4-12 15:09:33 |   File "ssl.py", line 513in wrap_socket
129	2023-4-12 15:09:33 |   File "ssl.py", line 1071in _create
130	2023-4-12 15:09:33 |   File "ssl.py", line 1342in do_handshake
131	2023-4-12 15:09:33 | urllib3.exceptions.ProtocolError: ('Connection aborted.'ConnectionResetError(10054'An existing connection was forcibly closed by the remote host'None10054None))
132	2023-4-12 15:09:33 | 
133	2023-4-12 15:09:33 | During handling of the above exception, another exception occurred:
134	2023-4-12 15:09:33 | 
135	2023-4-12 15:09:33 | Traceback (most recent call last):
136	2023-4-12 15:09:33 |   File "fme-utilities/src/fmegeneral\plugins.py", line 579in input
137	2023-4-12 15:09:33 |   File "\\NAMESHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\connector.py", line 354in pre_input
138	2023-4-12 15:09:33 |     super().pre_input(feature)
139	2023-4-12 15:09:33 |   File "fme-webfs/src/webserviceconnector\fmewebfs.py", line 677in pre_input
140	2023-4-12 15:09:33 |   File "fme-utilities/src/fmegeneral\plugins.py", line 560in pre_input
141	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\connector.py", line 377in setup
142	2023-4-12 15:09:33 |     self.driver.api = get_agol_api(connection_name, self.log)
143	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\session.py", line 79in get_agol_api
144	2023-4-12 15:09:33 |     session.handle_refresh_token_expiration(api.portal_self.get("maxTokenExpirationMinutes"))
145	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\api.py", line 256in portal_self
146	2023-4-12 15:09:33 |     self._portal_self = self.session.get(
147	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\sessions.py", line 542in get
148	2023-4-12 15:09:33 |     return self.request('GET', url, **kwargs)
149	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\session.py", line 31in parsed_request
150	2023-4-12 15:09:33 |     response = func(*args, **kwargs)
151	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\session.py", line 173in request
152	2023-4-12 15:09:33 |     response = super().request(method, url, **kwargs)
153	2023-4-12 15:09:33 |   File "\\NAMEHASBEENCHANGED\aplroot$\APLDATA\FMESERVER\resources\engine\Packages\22782-win64\python\safe.esri-agol\fmepy_esri_agol\_vendor\fmetools\http.py", line 304in request
154	2023-4-12 15:09:33 |     return super(FMERequestsSessionself).request(method, url, **kwargs)
155	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\pypac\api.py", line 241in request
156	2023-4-12 15:09:33 |     raise request_exc  # In PY2, just saying 'raise' may re-raise ProxyConfigExhaustedError.
157	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\pypac\api.py", line 230in request
158	2023-4-12 15:09:33 |     response = super(PACSessionself).request(method, url, proxies=proxies, **kwargs)
159	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\sessions.py", line 529in request
160	2023-4-12 15:09:33 |     resp = self.send(prep, **send_kwargs)
161	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\sessions.py", line 645in send
162	2023-4-12 15:09:33 |     r = adapter.send(request, **kwargs)
163	2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\requests\adapters.py", line 501in send
164	2023-4-12 15:09:33 |     raise ConnectionError(err, request=request)
165	2023-4-12 15:09:33 | requests.exceptions.ConnectionError: ('Connection aborted.'ConnectionResetError(10054'An existing connection was forcibly closed by the remote host'None10054None))
166	2023-4-12 15:09:33 | 
167	2023-4-12 15:09:33 | Error encountered while calling method `input'
168	2023-4-12 15:09:33 | ArcGISOnlineConnector_CALLER (PythonFactory): PythonFactory failed to process feature

 

Thanks @siennaatsafe​ Unfortunately, this solution is not simply I can execute, since this measure might have an impact on other scripts. I will first try to contact esri and see whether something can be done on esri's side.


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings