Skip to main content

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

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?


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', None, 10054, None))
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 699, in 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 382, in _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 1010, in _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 416, in 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 449, in 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 493, in _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 513, in wrap_socket
101 2023-4-12 15:09:33 |   File "ssl.py", line 1071, in _create
102 2023-4-12 15:09:33 |   File "ssl.py", line 1342, in do_handshake
103 2023-4-12 15:09:33 | ConnectionResetError: sWinError 10054] An 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 440, in 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 755, in 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 532, in 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 769, in 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 699, in 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 382, in _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 1010, in _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 416, in 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 449, in 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 493, in _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 513, in wrap_socket
129 2023-4-12 15:09:33 |   File "ssl.py", line 1071, in _create
130 2023-4-12 15:09:33 |   File "ssl.py", line 1342, in 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', None, 10054, None))
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 579, in 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 354, in 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 677, in pre_input
140 2023-4-12 15:09:33 |   File "fme-utilities/src/fmegeneral\plugins.py", line 560, in 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 377, in 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 79, in 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 256, in 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 542, in 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 31, in 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 173, in 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 304, in request
154 2023-4-12 15:09:33 |     return super(FMERequestsSession, self).request(method, url, **kwargs)
155 2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\pypac\api.py", line 241, in 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 230, in request
158 2023-4-12 15:09:33 |     response = super(PACSession, self).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 529, in 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 645, in 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 501, in 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', None, 10054, None))
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 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', None, 10054, None))
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 699, in 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 382, in _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 1010, in _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 416, in 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 449, in 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 493, in _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 513, in wrap_socket
101 2023-4-12 15:09:33 |   File "ssl.py", line 1071, in _create
102 2023-4-12 15:09:33 |   File "ssl.py", line 1342, in do_handshake
103 2023-4-12 15:09:33 | ConnectionResetError: 2WinError 10054] An 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 440, in 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 755, in 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 532, in 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 769, in 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 699, in 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 382, in _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 1010, in _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 416, in 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 449, in 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 493, in _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 513, in wrap_socket
129 2023-4-12 15:09:33 |   File "ssl.py", line 1071, in _create
130 2023-4-12 15:09:33 |   File "ssl.py", line 1342, in 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', None, 10054, None))
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 579, in 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 354, in 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 677, in pre_input
140 2023-4-12 15:09:33 |   File "fme-utilities/src/fmegeneral\plugins.py", line 560, in 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 377, in 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 79, in 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 256, in 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 542, in 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 31, in 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 173, in 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 304, in request
154 2023-4-12 15:09:33 |     return super(FMERequestsSession, self).request(method, url, **kwargs)
155 2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\pypac\api.py", line 241, in 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 230, in request
158 2023-4-12 15:09:33 |     response = super(PACSession, self).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 529, in 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 645, in 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 501, in 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', None, 10054, None))
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


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', None, 10054, None))
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 699, in 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 382, in _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 1010, in _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 416, in 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 449, in 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 493, in _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 513, in wrap_socket
101 2023-4-12 15:09:33 |   File "ssl.py", line 1071, in _create
102 2023-4-12 15:09:33 |   File "ssl.py", line 1342, in do_handshake
103 2023-4-12 15:09:33 | ConnectionResetError: 2WinError 10054] An 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 440, in 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 755, in 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 532, in 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 769, in 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 699, in 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 382, in _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 1010, in _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 416, in 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 449, in 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 493, in _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 513, in wrap_socket
129 2023-4-12 15:09:33 |   File "ssl.py", line 1071, in _create
130 2023-4-12 15:09:33 |   File "ssl.py", line 1342, in 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', None, 10054, None))
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 579, in 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 354, in 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 677, in pre_input
140 2023-4-12 15:09:33 |   File "fme-utilities/src/fmegeneral\plugins.py", line 560, in 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 377, in 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 79, in 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 256, in 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 542, in 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 31, in 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 173, in 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 304, in request
154 2023-4-12 15:09:33 |     return super(FMERequestsSession, self).request(method, url, **kwargs)
155 2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\pypac\api.py", line 241, in 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 230, in request
158 2023-4-12 15:09:33 |     response = super(PACSession, self).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 529, in 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 645, in 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 501, in 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', None, 10054, None))
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.


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', None, 10054, None))
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 699, in 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 382, in _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 1010, in _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 416, in 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 449, in 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 493, in _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 513, in wrap_socket
101 2023-4-12 15:09:33 |   File "ssl.py", line 1071, in _create
102 2023-4-12 15:09:33 |   File "ssl.py", line 1342, in do_handshake
103 2023-4-12 15:09:33 | ConnectionResetError: 2WinError 10054] An 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 440, in 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 755, in 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 532, in 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 769, in 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 699, in 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 382, in _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 1010, in _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 416, in 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 449, in 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 493, in _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 513, in wrap_socket
129 2023-4-12 15:09:33 |   File "ssl.py", line 1071, in _create
130 2023-4-12 15:09:33 |   File "ssl.py", line 1342, in 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', None, 10054, None))
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 579, in 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 354, in 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 677, in pre_input
140 2023-4-12 15:09:33 |   File "fme-utilities/src/fmegeneral\plugins.py", line 560, in 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 377, in 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 79, in 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 256, in 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 542, in 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 31, in 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 173, in 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 304, in request
154 2023-4-12 15:09:33 |     return super(FMERequestsSession, self).request(method, url, **kwargs)
155 2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\pypac\api.py", line 241, in 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 230, in request
158 2023-4-12 15:09:33 |     response = super(PACSession, self).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 529, in 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 645, in 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 501, in 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', None, 10054, None))
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.

 

 


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', None, 10054, None))
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 699, in 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 382, in _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 1010, in _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 416, in 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 449, in 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 493, in _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 513, in wrap_socket
101 2023-4-12 15:09:33 |   File "ssl.py", line 1071, in _create
102 2023-4-12 15:09:33 |   File "ssl.py", line 1342, in do_handshake
103 2023-4-12 15:09:33 | ConnectionResetError: 2WinError 10054] An 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 440, in 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 755, in 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 532, in 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 769, in 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 699, in 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 382, in _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 1010, in _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 416, in 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 449, in 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 493, in _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 513, in wrap_socket
129 2023-4-12 15:09:33 |   File "ssl.py", line 1071, in _create
130 2023-4-12 15:09:33 |   File "ssl.py", line 1342, in 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', None, 10054, None))
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 579, in 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 354, in 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 677, in pre_input
140 2023-4-12 15:09:33 |   File "fme-utilities/src/fmegeneral\plugins.py", line 560, in 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 377, in 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 79, in 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 256, in 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 542, in 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 31, in 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 173, in 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 304, in request
154 2023-4-12 15:09:33 |     return super(FMERequestsSession, self).request(method, url, **kwargs)
155 2023-4-12 15:09:33 |   File "D:\Program Files\FMEServer\Server\fme\python\pypac\api.py", line 241, in 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 230, in request
158 2023-4-12 15:09:33 |     response = super(PACSession, self).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 529, in 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 645, in 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 501, in 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', None, 10054, None))
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.


Reply