Custom SOAP Decoders
Andrew Van Uitert <[email protected]>
| Newsgroups | gmane.comp.mozilla.devel.xml |
|---|---|
| Organization | Another Netscape Collabra Server User |
| Message-ID | <[email protected]> |
I am trying to create a custom SOAP decoder in Mozilla 1.7 that I install into a SOAPCall javascript object, that will be called when my Axis SOAP server returns a complex type. So far the interaction on basic types, and arrays of basic types has been good. But getting to the data for a complex type in Mozilla has been impossible. I am certain that my Axis server works fine, since I have been able to create an Axis client that decodes the complex object fine. I has spent days trying to get my decode function to work, unfortunately I have had little luck. I was wondering if anyone knows of some examples of setting a custom decoder and having it work right. The only resource I have found is at http://lxr.mozilla.org/mozilla/source/extensions/webservices/docs/Soap_Scripts_in_Mozilla.html I modified the build of mozilla to send debug to my console, and from what I can tell the documentation as listed above is incorrect. The documentation states, Encoding or decoding of data always begins with a default encoder or decoder, which then may lookup additional encoders or decoders by a string key as required. For either the 1.1 or 1.2 version of the default SOAP encoding, the default encoder and decoder use the schema type's namespaceURI and name, separated by "#" to look up additional decoders for specific schema types. Additional encoders and decoders registered within the default encodings will automatically be invoked as an object identified as the corresponding type is processed. From my debug output, I never see the key (as specified above) actually looked up by the default decoder. I modified the following files to send output to my console every time a key was looked up, and I never saw a lookup for the key for my complex type on a response. I did see that my decoder was registered for the key. nsDefaultSOAPDecoder.cpp nsSOAPEncoding.cpp To summarize. Are there any working concrete examples of a custom decoder ? Why is the default decoder not looking for the key as it proccesses an incoming message ? Best Regards, Andy