Gia,
No particular mapping is enforced by the core WSIF API. Instead it provides
the user with the ability to specify mappings, through calls to
WSIFService.mapType. The providers themselves may choose to deal with
mappings in whatever way they see fit. The Java and EJB provider, use their
own list of mappings defined directly in the WSDL. The user may wish to
define mappings that conform to the JAX-RPC spec when making calls to
mapType and also in the format binding used by the Java and EJB providers,
thus increasing interoperability of the providers.
A new feature, recently added, allows the user to specify a mapping
convention, and allow WSIF to apply that convention to all schema types
from the WSDL. The Apache SOAP and Axis providers will use the resulting
mappings. The WSDL2JavaMapper and WSDL2JavaMappingConvention classes from
the Axis provider are aimed at using the Axis APIs to apply the JAX-RPC
conventions (as used by the Axis wsdl2java tool) to mappings. The
WSIFDefaultMapper and WSIFDefaultMappingConvention do not currently handle
naming collisions but I'm looking into this.
So, as it currently stands, it is left to the user of WSIF to enforce a
common mapping across the different providers.
Owen
|---------+---------------------------->
| | "George |
| | Datuashvili" |
| | <[EMAIL PROTECTED]|
| | bel.com> |
| | |
| | 28/02/2003 21:49 |
| | Please respond to|
| | wsif-dev |
| | |
|---------+---------------------------->
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
| To: [EMAIL PROTECTED]
|
| cc:
|
| Subject: RE: WSIFDynamicTypeMap
|
|
|
|
|
>--------------------------------------------------------------------------------------------------------------------------------------------------|
I'm having bit of a trouble understanding how WSIF makes it possible to
write strongly typed client code once that doesn't depend on binding
changes (nirvana).
In order to make this possible different providers have to use common
porttype->java mapping. Since WSIF itself doesn't define it, and it
works with Axis-generated classes, I have to assume that common mapping
already IS JAX-RPC spec. Yet I can find nothing when I search
http://ws.apache.org/wsif site for "JAX-RPC".
Does WSIF assume use of JAX-RPC spec or no ?
Thanks
-gia
-----Original Message-----
From: Owen D Burroughs [mailto:[EMAIL PROTECTED]
Sent: Friday, February 28, 2003 2:12 AM
To: [EMAIL PROTECTED]
Subject: Re: WSIFDynamicTypeMap
Roberto,
WSIFDynamicTypeMap is used as a provider (binding) independent way of
storing a mapping between an xml type name (QName) and a Java class. The
information can be used by the various WSIF providers in whatever way
they see fit. For example, the Apache Axis provider will use the
information to help register type mappings on the Axis Call object,
whereas the Java and EJB providers do not use the information, instead
relying on what is provided in the format binding.
The job of "translating" WSDL type names to Java class names is either
carried out by the user through calls to mapType and mapPackage on
WSIFService, or can be left to the new automatic mapping functionality
which has recently been added (see my post from 26th Feb). The actual
generation of the class files themselves is not in the scope of WSIF.
Tools such as WSDL2Java in Axis can be used for this.
Hope this helps.
Owen