Apparently I don't have the serializer configured and/or implemented properly.  I get 
the following "No serializer found" error when I try to call the method that returns a 
jdom.  Does anyone know where I can get more information about writing custom 
serializers for axis?

AxisFault
 faultCode: {http://xml.apache.org/axis/}HTTP
 faultSubcode: 
 faultString: (500)Internal Server Error
 faultActor: 
 faultNode: 
 faultDetail: 
        {}string: return code:  500
<html><head><title>Apache Tomcat/5.0.19 - Error 
report</title><style><!--H1 
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
 H2 
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}
 H3 
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;}
 BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B 
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P 
{font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A 
{color : black;}A.name {color : black;}HR {color : #525D76;}--></style> 
</head><body><h1>HTTP Status 500 - </h1><HR 
size="1" noshade><p><b>type</b> Exception 
report</p><p><b>message</b> 
<u></u></p><p><b>description</b> <u>The 
server encountered an internal error () that prevented it from fulfilling this 
request.</u></p><p><b>exception</b> 
<pre>java.io.IOException: No serializer found for class org.jdom.Element in 
registry [EMAIL PROTECTED]
        org.apache.axis.AxisFault.makeFault(AxisFault.java:129)
        org.apache.axis.SOAPPart.writeTo(SOAPPart.java:272)
        org.apache.axis.SOAPPart.getAsString(SOAPPart.java:483)
        org.apache.axis.SOAPPart.getAsBytes(SOAPPart.java:375)
        org.apache.axis.Message.getContentType(Message.java:399)
        org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:887)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
        
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:339)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
</pre></p><p><b>note</b> <u>The full stack trace 
of the root cause is available in the Tomcat logs.</u></p><HR 
size="1" noshade><h3>Apache 
Tomcat/5.0.19</h3></body></html>

(500)Internal Server Error
        at 
org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:630)
        at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:128)
        at 
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
        at 
org.apache.axis.client.AxisClient.invoke(AxisClient.java:180)---------------------- 
WITHOUT STUBS --------------------

        at org.apache.axis.client.Call.invokeEngine(Call.java:2564)
        at org.apache.axis.client.Call.invoke(Call.java:2553)
        at org.apache.axis.client.Call.invoke(Call.java:2248)
        at org.apache.axis.client.Call.invoke(Call.java:2171)
        at org.apache.axis.client.Call.invoke(Call.java:1691)
        at soapapi.LeinSoapBindingStub.qry(LeinSoapBindingStub.java:138)
        at com.armada.soapenabled.LeinClient.doitwithstubs(LeinClient.java:60)
        at com.armada.soapenabled.LeinClient.main(LeinClient.java:44)

-----Original Message-----
From: Matt Valerio 
Sent: Wednesday, September 29, 2004 10:26 AM
To: Axis-User (E-mail)
Subject: custom serializer problems


I'm trying to write a custom serializer for the jdom Element (org.jdom.Element).  I've 
written the serializer,deserializer,factories and added the type mapping to the wsdd 
file.  The service deploys and updates the server-config with the typeMapping Element 
but when javaToWsdl tries to generate the wsdl I having some problems.  Specifically 
I'm getting the following message;
        - The class org.jdom.Element does not contain a default constructor, which is 
a requirement for a bean class.  The class cannot be converted into an xml schema 
type.  An xml schema anyType will be used to define this class in the wsdl file.

The typeMapping node in the wsdd file is 
<typeMapping qname="myjdomNS:LeinResponse" 
xmlns:myjdomNS="http://jdom.soapenabled.armada.com";
        languageSpecificType="java:org.jdom.Element"
        serializer="com.armada.soapenabled.JdomElementSerializerFactory"
        deserializer="com.armada.soapenabled.JdomElementDeserializerFactory"
        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>

And once this is deployed the typeMapping node in the server-config.wsdd file is
<typeMapping deserializer="com.armada.soapenabled.JdomElementDeserializerFactory"      
 encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; qname="ns1:LeinResponse"    
  serializer="com.armada.soapenabled.JdomElementSerializerFactory" 
type="java:org.jdom.Element" 
        xmlns:ns1="http://soapenabled.armada.com"/>

The is not much documentation on creating a custom serializer but I think I've got it. 
 I believe the problem may lie in the javaToWSDL code but I'm not sure.  My plan was 
to let the WSDL get generated and then tweak as needed but that may not be possible.  
Anyone have any thoughts?

Reply via email to