Look in the web service documentation. There is a trigger which controls whether a process can be invoked ad hoc. Without the trigger it is assumed the process is intended to be called by others as a child. The processes without this trigger are filtered from the lists when starting ad hoc and are not available from the web service.
Thanks for the help. I tried this but must be missing something. As an example I have an automation pack installed (probably from you) called VBLOG DEMO - Process Authoring - Monitoring TEO.
I edited each of these processes and removed the "Started by User" trigger. I then went into File - Server Properties - Web Service and clicked on the "Refresh Web Service" button. The attached screenshot shows those processes in my "Definitions" view.
The wsdl still had references to the VBLOG DEMO processes. I cleared my browser cache just to be sure and saw the same result. As a final step I then restarted the TEO server and cleared my browser cache but no matter what I do I still see those processes in my wsdl.