One of the things that frustrates SOAP (and other web service) users is the creation of the WSDL files for their service. Learning a whole new "language" just to describe what they're offering seems silly, so the quest began for a method to automatically create this information based off of the service itself.
There have been several attempts to write WSDL auto-generation code for PHP. They typically work by having the developer provide additional data about the types of each argument and return value to each web service defined, for example in comments or arrays.
All of the published solutions are rather limited. Perhaps the best attempt I found is David Giffin's wsdl-writer-0.3, but [it] has some major limitations as it stands. David unfortunately does not maintain wsdl-writer so I have decided to publish my modifications here.
She details the changes, noting updates to interoperability, new features (including native SOAP header support), and a few other bug fixes. A simple code example is also included, showing a sample web service class.