axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tom Jordahl <t...@macromedia.com>
Subject RE: WSDL2Java Plus TypeMapping (+1 ?)
Date Fri, 08 Feb 2002 22:54:38 GMT

This is very much goodness.
+1

I was looking at the Sun xrpcc tool (WSDL2Java/Java2WSDL equivalent).
In order to run it, the argument is an XML config file which contains
various bits of information.  One the things it has are TypeMappings.

I couldn't get it to accept any WSDL file I tried.

We probably need to at least document how to establish such mappings
on the client tool side (client-config.wsdd?) if we can do this.

FYI - Here are bits from the doc:

Syntax:
   xrpcc.bat -classpath build -both -d build config.xml

config.xml looks like this:
<?xml version="1.0" encoding="UTF-8"?> 	
 <configuration	
 xmlns="http://java.sun.com/jax-rpc-ri/xrpcc-config"> 	
   <wsdl name="[1]" 	
         location="[2]" 	
         packageName="[3]"> 	
     <typeMappingRegistry> 	
       [4] 	
     </typeMappingRegistry> 	
   </wsdl> 	
 </configuration>
 
The typeMappingRegitry looks like this:
<typeMappingRegistry> 	
   <typeMapping	
     encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 	
      <entry schemaType="ns1:SampleType" 	
         javaType="org.tempuri.WellKnownClass" 	
         serializerFactory=	
           "org.tempuri.WellKnownClassSerializationFactory" 	
          deserializerFactory=	
           "org.tempuri.WellKnownClassDeserializationFactory" 	
          xmlns:ns1="http://echoservice.org/types"/> 	
    </typeMapping> 	
 </typeMappingRegistry>

--
Tom Jordahl
Macromedia


-----Original Message-----
From: R J Scheuerle Jr [mailto:scheu@us.ibm.com]
Sent: Friday, February 08, 2002 5:08 PM
To: axis-dev@xml.apache.org
Subject: WSDL2Java Plus TypeMapping (+1 ?)


Folks,

The runtime uses the information in the default TypeMapping to
get the base qname <-> java information.

The Java2WSDL emitter uses the default TypeMapping information to
get  java -> qname information.

However WSDL2Java uses the routine Utils.getBaseJavaName(qname)
method to get qnamethe  -> java base names.

I have almost completed the changes in my sandbox to change WSDL2Java to
use the default TypeMapping.

This has the following advantages:
   -  Keeps the runtime and the emitter in sync.
   -  Removal of hard-coded Utils.getBaseJavaName routine.
   -  Further tests TypeMapping registry.

Related changes:
   - Adding this support via the WriterFactory so that other developers
provider their own mappings.
   - Changing the name of BaseJavaType objects to BaseType objects
   - Made improvements to the Hex support in the runtime, including
     JavaUtils.convert() changes to convert between byte[] and Hex.

Comments ?


Rich Scheuerle
XML & Web Services Development
512-838-5115  (IBM TL 678-5115

Mime
View raw message