Alexey, Let's step back for a minute. I'm confused as to your system setup. Let's go over the basics of Axis1-1.4 first.
Assuming you started with a wsdl file first (Top-Down approach) and also assuming you are creating a Document/Literal based wsdl, you must create XML Schema for every Java class that you intend to send over the service. Therefore, the MyEventPub class (which I take it you are trying to send over the wire) must have equivalent XML Schema created for it, or at least imported from an external xsd file into your wsdl file. Therefore, to send it over the wire, you need to know the structure of this class in advance (so that you can write schema for it). The WSDL2Java generator will read the schema in the wsdl and essentially create two classes for each element/complexType it finds. One is to serialize the class (put it into xml) the other is to deserialize it (take it from xml and back into a Java object). This is a simplified view of the process, but it is essentially correct. Also generated for you, is a deploy.wsdd file. In the deploy.wsdd file, there are some namespace declarations. And then a section that describes the service, such as what methods are exposed publicly, the port name (which is the name of the web service), the name of your skeleton class (which is used by Axis to make sure the correct operation is called on your interface), and so on. Further down in deploy.wsdd there are type mappings. This is where Axis learns about the classes that can be serialized/deserialized. Each type mapping essentially holds a qualified namespace, the type of object your transferring (that is, the package and name of your class), and the names of the serializer and deserializer classes that will do the work for that type. Now, your original post hinted that a type mapping was missing from the wsdd file, for the MyEventPub class. There maybe some strange situations where a type mapping may not be created by the generator, even though the MyEventPub class has an schema equivalent in the wsdl file. But I suspected (in my first reply) that the problem was that you did not create any schema for MyEventPub in the first place and so Axis had no way of knowing how to serialize/deserialize it. Hence, the type mapping exception. Now, your following question asks where can you 'store' MyEventPub within MessageElement. The problem here, is that your hinting at trying to construct the soap parse tree yourself, and then presumably serialize that tree (with the MyEventPub fields in it somewhere). I strongly recommend that you do not approach your web service from this angle. I cannot help you further with this direction. (Perhaps you have previous experience with RPC-encoded services and serializing graphs of objects? If not, then this approach will be a difficult task indeed). I recommend you define MyEventPub in schema (in the wsdl) and let Axis do 95% of the work for you. I also recommend that you adopt the Document/Literal-Wrapped wsdl format (go here to learn about it: http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/), and abandon any attempt at an RPC service. You will get virtually no help from this mailing list if you choose to continue with an RPC-based wsdl. (That is because a wsdl based on RPC is essentially deprecated as a web service design, and nobody does web services like that anymore. Why not?Because RPC-Encoded is not WSI compliant. There is no standard way to interpret the serialize object graph across every platform that could conceivably call your service). In Document Literal-Wrapped, the methods on your interface take a single object and return a single object. Those two objects can obviously have multiple objects within them. Each object is based on schema in your wsdl. This is the approach everybody else takes with web services these days. One more thing. There are only a few of us left still using Axis1.4 on our projects. Nearly all subscribers of the Axis mailing list are using Axis2. You cannot use Axis2 to do an RPC Encoded service. Does any of this help? -jeff -----Original Message----- From: Alexey Zavizionov [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 10, 2007 8:28 AM To: axis-user@ws.apache.org; [EMAIL PROTECTED]; Roman Pedchenko Subject: Re: No serializer found for class in registry TypeMappingDelegate Thanks for reply! This MyEventPub is the sample user's class fired as event on server at runtime, therefore I don't know about before. How can I marshal this with JAXB for MessageElement ? I mean this MyEventPub is well annotated class and well marshalled to StringWriter(). Where can I store it within MessageElement? Please, advise me. Alexey. On 10/5/07, Walker, Jeff <[EMAIL PROTECTED]> wrote: > I think your missing a type mapping in the wsdd file. > You need something like this inserted. (deploy.wsdd file:) > ... > <typeMapping > xmlns:ns="http://www.company.com/project" > qname="ns:MyEventPub" > > type="java:org.exoplatform.services.portletcontainer.test.portlet2.MyEve > ntPub" > serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" > > deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" > encodingStyle="" > /> > ... > > The real question is, why do you not have it? > If you ran your wsdl file through the generator, the stubs and skeleton > code gets created for you. This command also generates the deploy.wsdd > file and should add in all of the type mappings you need for your > classes. > > %>java org.apache.axis.wsdl.WSDL2Java --server-side --skeletonDeploy > true WebServiceName.wsdl > > -jeff > > > > -----Original Message----- > From: Alexey Zavizionov [mailto:[EMAIL PROTECTED] > Sent: Friday, October 05, 2007 12:31 PM > To: axis-user@ws.apache.org > Subject: No serializer found for class in registry TypeMappingDelegate > > Hello list! > > I have an exc on server of my service: > [ERROR] BeanSerializer - Exception: <java.io.IOException: No > serializer found for class > org.exoplatform.services.portletcontainer.test.portlet2.MyEventPub in > registry > [EMAIL PROTECTED]>java.io.IOException: > No serializer found for class > org.exoplatform.services.portletcontainer.test.portlet2.MyEventPub in > registry [EMAIL PROTECTED] > at > org.apache.axis.encoding.SerializationContext.serializeActual(Serializat > ionContext.java:1507) > ... > > What could this be? > > PS: I use Axis1-1.4 > > Thanks, > Alexey > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]