axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alistair Edwardes <>
Subject Re: externalMapping to reuse types
Date Thu, 31 Jan 2008 11:07:24 GMT
I just realised - most of what I said in the last mail is only relevant 
if you're using the maven plugin for axis2 to build your service

Alistair Edwardes wrote:
> Hi Mauro
> Thanks for you tips. After banging my head against a wall with the 
> externalMappings option I think you're right I should build all the 
> classes and just throw away the duplicated ones. Your point about 
> namespace-packages is good too. Actually, I try not to inline 
> datatypes in wsdl anyway, I prefer to include/import seperate xsds 
> that model all the data types in their own namespace.
> So, just to give a bit of feed back (to you but mainly to anyone who 
> might have a similar problem who reads this thread later). One way to 
> manage the namespace to package mapping is  through the namespaceURIs 
> option of wsdl2code - note the documentation on the website is wrong 
> here you have to define them with an element called <packageName> not 
> <package>.
> BUT... much better is to use the xsdconfig option. Of course there's 
> no documentation on how to use this with wsdl2code- though the 
> documentation about it on the xmlbeans pages is useful.
> To use it you need to add in your <configuration> something like
> <options>
>            <property>
>              <name>xc</name>
>              <value>src/main/resources/xsdconfig/config.xsdconfig</value>
>            </property>
> </options>
> where the <value> points to an xsdconfig file. (for example see 
> ). 
> NOTE.. you have to use xc as the parameter name, the long form, 
> xsdconfig, doesn't seem to work.
> The advantage of the .xsdconfig file is you can set both namespace 
> mappings and qname to java class mappings. I think this might actually 
> be what the external-mapping option is supposed to be for too - I've 
> taken the liberty of cc-ing the author of that so maybe they could 
> shed a bit more light on it.
> So, for example I have the namespace to package mapping
> <xb:namespace uri="">
>        <xb:package>net.opengis.gml</xb:package>
> </xb:namespace>
> and, an element to java class mapping
> <xb:qname name="gml:posList" javaname="DirectPositionList" />
> which is similar to what I think you were trying to achieve before too.
> Cheers Alistair
> Mauro Molinari wrote:
>> Hai Alistair,
>> I also posted a question about external mapping some time ago but 
>> never got an anwser.
>> For what I could understand by my own, that file is aumatically 
>> compiled when there are globally defined types in schemas. Maybe you 
>> can also edit it by hand, but I can't say what it could be really 
>> useful for...
>> From my own personal experience, I try to share schema files in this 
>> way:
>> - shared types are defined in their own namespace, so that WSDL2Java 
>> generates classes in the own (shared) packages
>> - every time I do a WSDL2Java for a WSDL that uses shared schemas, I 
>> throw away the newly generated classes for the shared types and I use 
>> the previously generated ones, which actually are the same classes
>> If I could understand your situation well, I think that the key to 
>> solve your problem is to carefully choose namespaces (i.e.: Java 
>> packages!) for both WSDLs inline schemas and shared XSD schemas.
>> I hope this helps a bit...
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message