Thanks Harald! That explanation helps a lot.
If you are correct, then the user's guide is misleading. In the section "Deploying custom mappings - the <typeMapping> tag" the example WSDD implies that you don't need a SerializerFactory. It sets the serializer attribute to "my.java.Serializer".
If someone thinks that you are allowed to register a Serializer instead of SerializerFactory, please chime in!
> -----Original Message-----
> From: Harald Schmitt [mailto:[EMAIL PROTECTED]]
> Sent: Friday, April 05, 2002 11:10 AM
> To: [EMAIL PROTECTED]
> Subject: Re: serializers and deserializers
>
>
> I am not a committer, but I have implemented a service with
> serializers
> and deserializers.
>
> > What do you mean when you say "one class implements both
> interfaces"?
> > I looked at the source and I don't see that. For example,
> Deserializer doesn't extend or implement
> > DeserializerFactory and the reverse isn't true either.
> Deserializer: You have to provide a class which implements
> the interface
> org.apache.axis.encoding.DeserializerFactory. The important method is
> getDeserializerAs. This method should return an instance of a class
> which implements the interface org.apache.axis.encoding.Deserializer
> (Tip: extend org.apache.axis.encoding.DeserializerImpl).
> The factory thing is needed because you cannot use one
> deserializer for
> recursive element use : <tag>...<tag>...</tag>...</tag>.
> You can implement both interfaces in one class.
> In wsdd you hava to point to a class which has a method:
> public static DeserializerFactory create(Class javaType, QName
> xmlType)
> or a class which implements DeserializerFactory Interface and
> has one of
> these constructors
> public <constructor>(Class javaType, QName xmlType) *preferred*
> public <constructor>()
>
> Serializer: You have to provide a class which implements the interface
> org.apache.axis.encoding.SerializerFactory. The important method is
> getSeserializerAs. This method should return an instance of a class
> which implements the interface org.apache.axis.encoding.Seserializer.
> You can implement both interfaces in one class.
> In wsdd you hava to point to a class which has a method:
> public static SerializerFactory create(Class javaType, QName
> xmlType)
> or a class which implements SerializerFactory Interface and has one of
> these constructors
> public <constructor>(Class javaType, QName xmlType) *preferred*
> public <constructor>()
> Hope this is correct and it helps.
> Ciao Harald
>
> > I'd be surprised if one of the committers doesn't know the
> answer to this question off the top of their head
> > ... no investigation required. I'm pleading for them to
> tell us the answer and put this issue to rest. I don't
> > want to be annoying and just keep asking the same question
> over and over again.
> >
> > -----Original Message-----
> > From: Christian Gross [mailto:[EMAIL PROTECTED]]
> > Sent: Friday, April 05, 2002 7:49 AM
> > To: [EMAIL PROTECTED]
> > Subject: Re: serializers and deserializers
> >
> > Somebody correct me if I am wrong, but I did some
> investigation (actually needed to
> > know about this myself as well) and experimented with
> my own examples.
> >
> > You need to provide a factory, which creates the
> appropriate serializer or deserializer.
> > The only reason why I can figure that both are shown
> is because the one class
> > implements both interfaces.
> >
> > Christian Gross
> >
> > At 12:13 04/04/2002 -0600, Volkmann, Mark wrote:
> >
> > When specifying a type mapping in WSDD,
> > does the serializer attribute have to refer to a
> class that implements Serializer or can it refer to a
> > class that implements SerializerFactory?
> >
> > Likewise, does the deserializer attribute have to
> refer to a class that implements
> > DerializerFactory or can it refer to a class that
> implements Deserializer?
> >
> > I've been unable to extract answers to these
> questions from the source code.
***************************************************************************************
WARNING: All e-mail sent to and from this address will be received or
otherwise recorded by the A.G. Edwards corporate e-mail system and is
subject to archival, monitoring or review by, and/or disclosure to,
someone other than the recipient.
***************************************************************************************