|
Hi, I have now write my own serializer and deserializer classes
additionally the Factory classes. When I start my tomcat server I see in the
log file: 2524 [main] DEBUG
org.apache.axis.i18n.ProjectResourceBundle -
org.apache.axis.i18n.resource::handleGetObject(exception00) 2534 [main] DEBUG org.apache.axis.encoding.ser.BaseSerializerFactory
- Exception: java.lang.NoSuchMethodException:
confuoco.encoding.ContentIDSerializerFactory.create(java.lang.Class,
javax.xml.namespace.QName) at
java.lang.Class.getMethod(Class.java:1581) at
org.apache.axis.encoding.ser.BaseSerializerFactory.createFactory(BaseSerializerFactory.java:254) at
org.apache.axis.deployment.wsdd.WSDDService.deployTypeMapping(WSDDService.java:534) at
org.apache.axis.deployment.wsdd.WSDDService.initTMR(WSDDService.java:245) at
org.apache.axis.deployment.wsdd.WSDDService.<init>(WSDDService.java:225) at
org.apache.axis.deployment.wsdd.WSDDDeployment.<init>(WSDDDeployment.java:191) at
org.apache.axis.deployment.wsdd.WSDDDocument.setDocument(WSDDDocument.java:139) at
org.apache.axis.deployment.wsdd.WSDDDocument.<init>(WSDDDocument.java:65) at
org.apache.axis.configuration.FileProvider.configureEngine(FileProvider.java:179) at
org.apache.axis.AxisEngine.init(AxisEngine.java:172) at
org.apache.axis.AxisEngine.<init>(AxisEngine.java:156) at
org.apache.axis.server.AxisServer.<init>(AxisServer.java:88) at
org.apache.axis.server.DefaultAxisServerFactory.createServer(DefaultAxisServerFactory.java:109) at
org.apache.axis.server.DefaultAxisServerFactory.getServer(DefaultAxisServerFactory.java:73) at
org.apache.axis.server.AxisServer.getServer(AxisServer.java:73) at
org.apache.axis.transport.http.AxisServletBase.getEngine(AxisServletBase.java:185) at
org.apache.axis.transport.http.AxisServletBase.getOption(AxisServletBase.java:396) at
org.apache.axis.transport.http.AxisServletBase.init(AxisServletBase.java:112) at
javax.servlet.GenericServlet.init(GenericServlet.java:212) at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:888) at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:776) at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3363) at
org.apache.catalina.core.StandardContext.start(StandardContext.java:3586) at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:774) at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:760) at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:548) at
org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:260) at
org.apache.catalina.core.StandardHost.install(StandardHost.java:741) at
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:512) at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:354) at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:671) at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1149) at
org.apache.catalina.core.StandardHost.start(StandardHost.java:707) at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1141) at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:316) at
org.apache.catalina.core.StandardService.start(StandardService.java:450) at
org.apache.catalina.core.StandardServer.start(StandardServer.java:2143) at
org.apache.catalina.startup.Catalina.start(Catalina.java:463) at
org.apache.catalina.startup.Catalina.execute(Catalina.java:350) at
org.apache.catalina.startup.Catalina.process(Catalina.java:129) at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at
java.lang.reflect.Method.invoke(Method.java:585) at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:156) I don’t understand what is wrong. My server-config.wsdd
is configured like: <service
name="CContentExchangeValidatorService"
provider="java:RPC"> <parameter name="allowedMethods"
value="*"/> <parameter
name="typeMappingVersion" value="1.2"/> <parameter name="wsdlPortType"
value="CContentExchangeValidatorService"/> <parameter name="className"
value="confuoco.webservice.CContentExchangeValidatorServiceSoapBindingSkeleton"/> <parameter name="wsdlServicePort"
value="CContentExchangeValidatorService"/> <parameter
name="wsdlTargetNamespace"
value="urn:webservice.confuoco"/> <parameter
name="wsdlServiceElement"
value="CContentExchangeValidatorServiceService"/> <typeMapping
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
qname="ns1:ConfuocoException"
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
type="java:confuoco.exception.ConfuocoException"
xmlns:ns1="http://exception.confuoco"/> <typeMapping
deserializer="confuoco.encoding.ContentIDDeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
qname="ns2:ContentID"
serializer="confuoco.encoding.ContentIDSerializerFactory"
type="java:confuoco.contentcontainer.ContentID"
xmlns:ns2="http://contentcontainer.confuoco"/> </service> Can anybody show me, what I’am doing wrong? Thanks for any help in advance. Regards Ferruh Von: Ferruh Zamangoer
[mailto:[EMAIL PROTECTED] Hi, I have the problem that I want to use a class as a
parameter of a method which is not a basic data type of java. I have defined a
interface like: public interface CContentExchangeValidatorService
extends java.rmi.Remote { public boolean
validateContent(ContentID contentID)
throws
java.rmi.RemoteException,ConfuocoException; } Code of the ContentID class: public interface ContentID {
public byte[] getFingerprint();
public void setFingerprint(byte[] fingerprint);
public boolean equals(ContentID contentID);
public boolean similar(ContentID contentID); } And I have to classes which implements the interface
above and are the concrete classes HashValue and Fingerprint. This means when I’ am calling the
validateContent() method I send a HashValue object or a Fingerprint object. How
can I realize it that Axis understands this type of object? I read in a book
that it’s possible to write own Serializer and Deserializer classes, but
it’s preferred to use the BeanSerializer and BeanDeserializer classes
instead of custom Serializer and Deserialzer. Can anybody help me or can give any suggestions how
to solve the problem? Thanks for any help in advance. Regards Ferruh |
ContentIDSerializerFactory.java
Description: Binary data
ContentIDDeserializerFactory.java
Description: Binary data
ContentIDSerializer.java
Description: Binary data
ContentIDDeserializer.java
Description: Binary data
cevs.wsdl
Description: Binary data
