Re: WebServiceProxyFactory bug??

John Bandhauer <[email protected]> Tue, 16 Jan 2007 17:19:53 -0800
Newsgroups gmane.comp.mozilla.devel.xml
Message-ID <[email protected]>
FWIW, This is working as designed. The issue is that arbitrary XML 
'names' need to be mapped to legal JS 'identifiers' in and easily 
reversible way. I remember discussing this with Vidur at the time (he 
did most of this work). We agreed to do something *very* simple and just 
use a single underscore as an escape character. We were aware of the 
downside, but decided to do it this way anyway. This was 5+ years ago 
and this Soap support for mozilla was a very experimental project.

The code is in the two static methods:

WSPFactory::C2XML and WSPFactory::XML2C at 
http://lxr.mozilla.org/seamonkey/source/extensions/webservices/proxy/src/wspfactory.cpp#209

I can imagine other escaping strategies (e.g. a multi-character escape 
indicator). Of course, changing this now would break any code that 
*expects* the current behavior.

As to bug filing...  If you go to the main bugzilla page 
(https://bugzilla.mozilla.org) and search for bugs with "wsdl" in the 
subject line you'll get a list of some of the bugs and feature requests 
related to this module. It appears that bugs are filed as: Product: 
Core, Component: Web Services.

John.

cbare wrote:
> I'm trying to use the WebServiceProxyFactory to access a public web
> service at:
> 
> http://soap.genome.jp/KEGG.wsdl.
> 
> I'm seeing some weird behavior, which is either a bug or I don't
> understand what's going on. The WSDL for this service defines a bunch
> of methods, among them: get_genes_by_organism.
> 
>     <operation name="get_genes_by_organism">
>       <input message="typens:get_genes_by_organismRequest"/>
>       <output message="typens:get_genes_by_organismResponse"/>
>     </operation>
> 
> 
> The trouble is, the proxy generated by the factory ends up with names
> like this: get_005fgenes_005fby_005forganism.
> 
> Suspiciously, 0x005f is unicode for the underscore character. Maybe the
> underscores are messing things up? Or maybe the WSDL is in an
> unexpected character encoding?
> 
> It works if I call the methods with the munged up names, but it's not
> pretty. Anyone seen similar problems? Is there a good place to file a
> bug report?
> 
> Thanks,
> 
> -Chris
>