The WSDL's generated by OpenEdge ProxyGen are most of the time not exactly what you want. Basically there's no option to add extra knowledge to the WSDL because it gets overwritten every time you run ProxyGen. I have written the WsdlDecorator to be able to decorate the ProxyGen generated WDSL based on rules (think of minOccurs, but also value restrictions). The result is a new WSDL which you hand over the whatever 3rd party you want to communicate with.
The code is on: https://github.com/bfv/WsdlDecorator together with some documentation in the README.md
I hope this is useful. I'm open to any suggestion for enhancing whatever is there right now.