| Artyom Kamshilin 2005-10-24, 6:57 pm |
| > > It worked when I change it manually - but I use SOAP_DISCO_Server()
> "xsd". I
> addMethodsFromMap(),
> any type,
> custom type, so that it maps to "tns"
> In my experience the implementation af Disco in PEAR_SOAP is
> useless if server uses nested types or use types with
> refences. You can overcome this limitation by constructing
> your own typemaps in your server but to the best of my
> knowledge it simple not worth the effort. Write you own WSDL.
>
> If you change to PHP5 and it's soap-ext there is work in
> progress of making a php2wsdl and wsdl2php which seems more reliable.
Well this script is intended to end up on a production server, and we're not
yet ready to move to PHP5. Meanwhile, I found a way to handle nested types -
a few simple modifications done to DISCO allowed it to pick "tns" instead of
"xsd" automatically as needed. After this modification, VS.NET was able to
import the resulting WSDL, including nested complex types and interops
pretty nicely. Can/should I somehow offer this modification for official
inclusion into DISCO code - if yes, how do I do that? I'd love to avoid
redoing the mods in case there's a need to upgrade PEAR package on my
server.
Thanks,
Artyom
|