I need information on how the WSDL file is generated for Service SOAP. I understand that we click on the "Generate Deployment Files" and pega gives the complete WSDL file which is in the format - https://app server host name:port/prweb/PRSOAPServlet/SOAP/Service Class/Service Package?WSDL
Internally, Pega calls "svcUtil.createWSDL(params, serviceMethods)" method which we do not have any control on.
My understanding is that for a multi-node environment, if we generate the WSDL while logged in to 1 node, the WSDL is generated/accessible from all nodes.
If we have nodes ABC123, ABC456, ABC789 and we generate the WSDL while logged in to ABC123 node. The WSDL generated would be
The WSDL is just a machine-readable description of the SOAP service, and not the service itself. Each version of the WSDL contains endpoint bindings for the node it was generated on, and that's really what you want to control based on my reading of the question. Unlike listener-based services, there is no way to limit specific SOAP (or REST, or HTTP) services or packages of services to run on specific nodes within the cluster. Your only option today is to do filtering at the app-server level to prevent services from being accessible on a given node.