@dsuch, when executing zato enmasse I am not getting errors regarding Booleans not being iterable. Executing:
zato@kasumi:~$ zato enmasse /opt/zato/env/qs-1/server1/ --export-odb --verbose
could not fetch service list
Type channel_amqp has no 'get-list' service
Type web_socket has no 'get-list' service
Type pubsub_endpoint has no 'get-list' service
Type channel_jms_wmq has no 'get-list' service
Type channel_zmq has no 'get-list' service
Type def_sec has no 'get-list' service
Type http_soap has no 'get-list' service
Type scheduler has no 'get-list' service
Type notif_sql has no 'get-list' service
Type outconn_amqp has no 'get-list' service
Type outconn_jms_wmq has no 'get-list' service
Type query_cassandra has no 'get-list' service
ODB objects read
ODB objects merged in
Data exported to /opt/zato/zato-export-2018-10-11T08_16_05_586515.yml
Produces these in the logs:
2018-10-11 08:13:58,182 DEBG 'zato-server1' stdout output:
2018-10-11 08:13:58,181 - WARNING - 117:DummyThread-47 - zato.server.service:501 - Traceback (most recent call last):
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/__init__.py", line 476, in update_handle
self._invoke(service, channel)
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/__init__.py", line 398, in _invoke
service.handle()
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/internal/apispec/__init__.py", line 68, in handle
include, exclude, self.request.input.query).get_info()
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 261, in get_info
self.parse()
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 342, in parse
info = ServiceInfo(details.name, details.service_class, self.simple_io_config)
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 90, in __init__
self.parse()
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 95, in parse
self.set_config()
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 182, in set_config
self._add_ns_sio()
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 150, in _add_ns_sio
for param in param_list:
TypeError: 'Boolean' object is not iterable
2018-10-11 08:13:58,182 DEBG 'zato-server1' stdout output:
2018-10-11 08:13:58,182 - WARNING - 117:DummyThread-47 - zato.server.service:585 - Could not invoke `zato.apispec.get-api-spec`, e:`Traceback (most recent call last):
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/__init__.py", line 583, in invoke_by_impl_name
return self.update_handle(*invoke_args, **kwargs)
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/__init__.py", line 476, in update_handle
self._invoke(service, channel)
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/__init__.py", line 398, in _invoke
service.handle()
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/internal/apispec/__init__.py", line 68, in handle
include, exclude, self.request.input.query).get_info()
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 261, in get_info
self.parse()
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 342, in parse
info = ServiceInfo(details.name, details.service_class, self.simple_io_config)
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 90, in __init__
self.parse()
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 95, in parse
self.set_config()
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 182, in set_config
self._add_ns_sio()
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 150, in _add_ns_sio
for param in param_list:
TypeError: 'Boolean' object is not iterable
`
2018-10-11 08:13:58,182 DEBG 'zato-server1' stdout output:
2018-10-11 08:13:58,182 - WARNING - 117:DummyThread-47 - zato.server.service:501 - Traceback (most recent call last):
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/__init__.py", line 476, in update_handle
self._invoke(service, channel)
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/__init__.py", line 398, in _invoke
service.handle()
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/internal/service.py", line 311, in handle
response = func(id_, payload, channel, data_format, transport, serialize=True)
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/__init__.py", line 601, in invoke
return self.invoke_by_impl_name(self.server.service_store.name_to_impl_name[name], *args, **kwargs)
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/__init__.py", line 583, in invoke_by_impl_name
return self.update_handle(*invoke_args, **kwargs)
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/__init__.py", line 476, in update_handle
self._invoke(service, channel)
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/__init__.py", line 398, in _invoke
service.handle()
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/internal/apispec/__init__.py", line 68, in handle
include, exclude, self.request.input.query).get_info()
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 261, in get_info
self.parse()
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 342, in parse
info = ServiceInfo(details.name, details.service_class, self.simple_io_config)
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 90, in __init__
self.parse()
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 95, in parse
self.set_config()
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 182, in set_config
self._add_ns_sio()
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 150, in _add_ns_sio
for param in param_list:
TypeError: 'Boolean' object is not iterable
2018-10-11 08:13:58,183 DEBG 'zato-server1' stdout output:
2018-10-11 08:13:58,183 - ERROR - 117:DummyThread-47 - zato.server.connection.http_soap.channel:324 - Caught an exception, cid:`bf413d6ff5fd6b63111318fa`, status_code:`500`, _format_exc:`Traceback (most recent call last):
File "/opt/zato/3.0/code/zato-server/src/zato/server/connection/http_soap/channel.py", line 268, in dispatch
payload, worker_store, self.simple_io_config, post_data, path_info, soap_action)
File "/opt/zato/3.0/code/zato-server/src/zato/server/connection/http_soap/channel.py", line 502, in handle
params_priority=channel_item.params_pri)
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/__init__.py", line 476, in update_handle
self._invoke(service, channel)
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/__init__.py", line 398, in _invoke
service.handle()
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/internal/service.py", line 311, in handle
response = func(id_, payload, channel, data_format, transport, serialize=True)
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/__init__.py", line 601, in invoke
return self.invoke_by_impl_name(self.server.service_store.name_to_impl_name[name], *args, **kwargs)
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/__init__.py", line 583, in invoke_by_impl_name
return self.update_handle(*invoke_args, **kwargs)
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/__init__.py", line 476, in update_handle
self._invoke(service, channel)
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/__init__.py", line 398, in _invoke
service.handle()
File "/opt/zato/3.0/code/zato-server/src/zato/server/service/internal/apispec/__init__.py", line 68, in handle
include, exclude, self.request.input.query).get_info()
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 261, in get_info
self.parse()
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 342, in parse
info = ServiceInfo(details.name, details.service_class, self.simple_io_config)
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 90, in __init__
self.parse()
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 95, in parse
self.set_config()
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 182, in set_config
self._add_ns_sio()
File "/opt/zato/3.0/code/zato-server/src/zato/server/apispec/__init__.py", line 150, in _add_ns_sio
for param in param_list:
TypeError: 'Boolean' object is not iterable
At the moment I have only configured channels for the Login module, so it has to be down to it.
Hot-deploying the login module does not return any errors:
docker cp genesisng/services/login.py 511a3594b3dc:/opt/zato/env/qs-1/server1/pickup/incoming/services/
Produces:
2018-10-11 08:17:50,331 DEBG 'zato-server2' stdout output:
2018-10-11 08:17:50,331 - INFO - 145:DummyThread-39 - zato.hot-deploy.create:376 - Creating tar archive
2018-10-11 08:17:50,331 DEBG 'zato-server1' stdout output:
2018-10-11 08:17:50,331 - INFO - 117:DummyThread-57 - zato.hot-deploy.create:376 - Creating tar archive
2018-10-11 08:17:50,353 DEBG 'zato-server1' stdout output:
2018-10-11 08:17:50,353 - INFO - 117:DummyThread-57 - zato.hot-deploy.create:376 - Creating tar archive
2018-10-11 08:17:50,354 DEBG 'zato-server2' stdout output:
2018-10-11 08:17:50,354 - INFO - 145:DummyThread-39 - zato.hot-deploy.create:376 - Creating tar archive
2018-10-11 08:17:50,761 DEBG 'zato-server2' stdout output:
2018-10-11 08:17:50,761 - INFO - 145:DummyThread-39 - zato.hot-deploy.create:156 - Uploaded package id:`82`, payload_name:`login.py`
2018-10-11 08:17:50,822 DEBG 'zato-server1' stdout output:
2018-10-11 08:17:50,822 - INFO - 117:DummyThread-57 - zato.hot-deploy.create:156 - Uploaded package id:`82`, payload_name:`login.py`
I can call the list service without problems:
curl -v -g "http://127.0.0.1:11223/genesisng/logins/list?page=1&size=50&sort_by=name&order_by=desc&fields=id&fields=name&filters=id|gt|50"; echo ""
* Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to 127.0.0.1 (127.0.0.1) port 11223 (#0)
> GET /genesisng/logins/list?page=1&size=50&sort_by=name&order_by=desc&fields=id&fields=name&filters=id|gt|50 HTTP/1.1
> Host: 127.0.0.1:11223
> User-Agent: curl/7.58.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: Zato
< Date: Thu, 11 Oct 2018 08:19:00 GMT
< Connection: close
< Transfer-Encoding: chunked
< Content-Type: application/json
< X-Zato-CID: 443f8f8f2c01d4005f9ee482
<
{"response": [{"count": 952, "id": 51, "name": "Karyn"}, {"count": 952, "id": 52, "name": "Sigourney"}, {"count": 952, "id": 53, "name": "Berk"}, {"count": 952, "id": 54, "name": "Judah"}, {"count": 952, "id": 55, "name": "Tyler"}, {"count": 952, "id": 56, "name": "Emery"}, {"count": 952, "id": 57, "name": "Buckminster"}, {"count": 952, "id": 58, "name": "Byron"}, {"count": 952, "id": 59, "name": "Todd"}, {"count": 952, "id": 60, "name": "Candice"}, {"count": 952, "id": 61, "name": "Maia"}, {"count": 952, "id": 62, "name": "Luke"}, {"count": 952, "id": 63, "name": "Blaze"}, {"count": 952, "id": 64, "name": "Ira"}, {"count": 952, "id": 65, "name": "Brady"}, {"count": 952, "id": 66, "name": "Reese"}, {"count": 952, "id": 67, "name": "Vernon"}, {"count": 952, "id": 68, "name": "Tatum"}, {"count": 952, "id": 69, "name": "Jana"}, {"count": 952, "id": 70, "name": "Kadeem"}, {"count": 952, "id": 71, "name": "Jerome"}, {"count": 952, "id": 72, "name": "Drake"}, {"count": 952, "id": 73, "name": "Iliana"}, {"count": 952, "id": 74, "name": "Isabella"}, {"count": 952, "id": 75, "name": "Maite"}, {"count": 952, "id": 76, "name": "Isadora"}, {"count": 952, "id": 77, "name": "Brett"}, {"count": 952, "id": 78, "name": "Tatum"}, {"count": 952, "id": 79, "name": "Melvin"}, {"count": 952, "id": 80, "name": "Zenaida"}, {"count": 952, "id": 81, "name": "Kelly"}, {"count": 952, "id": 82, "name": "Quon"}, {"count": 952, "id": 83, "name": "Matthew"}, {"count": 952, "id": 84, "name": "Gwendolyn"}, {"count": 952, "id": 85, "name": "Adria"}, {"count": 952, "id": 86, "name": "Judah"}, {"count": 952, "id": 87, "name": "Keaton"}, {"count": 952, "id": 88, "name": "Shelly"}, {"count": 952, "id": 89, "name": "Maggie"}, {"count": 952, "id": 90, "name": "Helen"}, {"count": 952, "id": 91, "name": "Alec"}, {"count": 952, "id": 92, "name": "Graiden"}, {"count": 952, "id": 93, "name": "Lucian"}, {"count": 952, "id": 94, "name": "Bevis"}, {"count": 952, "id": 95, "name": "Elliott"}, {"count": 952, "id": 96, "name": "Jason"}, {"count": 952, "id": 97, "n* Closing connection 0
ame": "Aquila"}, {"count": 952, "id": 98, "name": "Maile"}, {"count": 952, "id": 99, "name": "Roanna"}, {"count": 952, "id": 100, "name": "Leandra"}]}