我的server_config.wsdd中service定义部分:
<service name="UserManager" provider="java:RPC">
<parameter name="allowedMethods" value="getUserList"/>  
<parameter name="className" value="com.abaisse.services.UserManagerImpl"/> 
<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" qname="ns4:User" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" type="java:com.abaisse.services.User" xmlns:ns4="demo"/>
<arrayMapping  xmlns:ns="demo"   qname="ns:ArrayOfUser"     languageSpecificType="java:com.abaisse.services.User[]"     innerType="cmp-ns:User" xmlns:cmp-ns="demo"    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"   /> 
</service>在启动时出现以下异常:2008-07-04 14:48:24,843 DEBUG org.apache.axis.encoding.ser.BaseSerializerFactory -Exception:
 java.lang.NoSuchMethodException: org.apache.axis.encoding.ser.ArraySerializerFactory.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:542)
at org.apache.axis.deployment.wsdd.WSDDService.initTMR(WSDDService.java:253)
at org.apache.axis.deployment.wsdd.WSDDService.<init>(WSDDService.java:233)
at org.apache.axis.deployment.wsdd.WSDDDeployment.<init>(WSDDDeployment.java:192)
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)
虽然不影响运行效果,但是感觉很别扭,哪位帮着看看。谢谢!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【demotree】截止到2008-07-04 14:46:18的历史汇总数据(不包括此帖):
    发帖的总数量:0                        发帖的总分数:0                        
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:---------------------结分的百分比:---------------------
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    java.lang.NoSuchMethodException: org.apache.axis.encoding.ser.ArraySerializerFactory.create(java.lang.Class, javax.xml.namespace.QName) 
    jar包都导进去了么?
      

  3.   

    楼上的,你的问题解决了吗?我的也是一样,好郁闷啊
    406  DEBUG [main] org.apache.axis.i18n.ProjectResourceBundle     - org.apache.axis.i18n.resource::handleGetObject(exception00)
    406  DEBUG [main] org.apache.axis.encoding.ser.BaseSerializerFactory     - Exception:
    java.lang.NoSuchMethodException: org.apache.axis.encoding.ser.ArraySerializerFactory.create(java.lang.Class, javax.xml.namespace.QName)
    at java.lang.Class.getMethod(Unknown Source)
    at org.apache.axis.encoding.ser.BaseSerializerFactory.createFactory(BaseSerializerFactory.java:254)
    at org.apache.axis.deployment.wsdd.WSDDService.deployTypeMapping(WSDDService.java:542)
    at org.apache.axis.deployment.wsdd.WSDDService.initTMR(WSDDService.java:253)
    at org.apache.axis.deployment.wsdd.WSDDService.<init>(WSDDService.java:233)
    at org.apache.axis.deployment.wsdd.WSDDDeployment.<init>(WSDDDeployment.java:192)
    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:1173)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4350)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4659)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
    at org.apache.catalina.core.StandardService.start(StandardService.java:519)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      

  4.   

    我找了一天的问题,后面发现是因为server-config.wsdd中的<ns1:arrayMapping innerType="xsd:string" languageSpecificType="java:java.lang.String[]" qname="ns10:ArrayOf_xsd_string" xmlns:ns10="http://xxxxxx" xmlns:xsd="http://www.w3.org/2001/XMLSchema" encodingStyle=""/>这个的问题,后面再仔细研究了日志的配置方法,也在网上找过很多资源,都没有人完全解决。
    最后我认真看了一下log4j的相关配置。最后把log4j的配置文件的前面改了,将axis1.4的日志级别改了,就可以了
    log4j.rootCategory=debug, CONSOLE, LOGFILElog4j.logger.org.apache.axis=info
    log4j.logger.org.apache=FATAL
    log4j.logger.org.apache.commons=debug
    log4j.logger.org.apache.struts=WARN
    log4j.logger.com.bluedot=DEBUG
    log4j.logger.org.hibernate=DEBUG
    log4j.logger.org.quartz=ERROR
    log4j.logger.org.springframework=ERROR
    当然这些项里面有可能有你不需要的,不需求的就用#注释掉
      

  5.   

    log4j.rootCategory=debug, CONSOLE, LOGFILElog4j.logger.org.apache.axis=info
    log4j.logger.org.apache=FATAL
    log4j.logger.org.apache.commons=debug
    log4j.logger.org.apache.struts=WARN
    log4j.logger.com.bluedot=DEBUG
    log4j.logger.org.hibernate=DEBUG
    log4j.logger.org.quartz=ERROR
    log4j.logger.org.springframework=ERROR
    # Set the enterprise logger category to FATAL and its only appender to CONSOLE.
    log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE
    #log4j.logger.org.apache.axis.transport.http.HTTPSender=INFO, CONSOLE# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
    log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
    log4j.appender.CONSOLE.Threshold=DEBUG
    log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
    #og4j.appender.CONSOLE.layout.ConversionPattern=- %m%n
    log4j.appender.CONSOLE.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n# LOGFILE is set to be a File appender using a PatternLayout.
    log4j.appender.LOGFILE=org.apache.log4j.FileAppender
    log4j.appender.LOGFILE.File=axis.log
    log4j.appender.LOGFILE.Append=true
    log4j.appender.LOGFILE.Threshold=INFO
    log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
      

  6.   

    2008-07-04 14:48:24,843 DEBUG org.apache.axis.encoding.ser.BaseSerializerFactory -Exception:
     java.lang.NoSuchMethodException: org.apache.axis.encoding.ser.ArraySerializerFactory.create(java.lang.Class, javax.xml.namespace.QName)
    at java.lang.Class.getMethod(Class.java:1581)
    -----------------------------------
    类中没有方法,查看ArraySerializerFactory类中是否有对应的方法(肯定没有,因为异常中已经给出来了没有方法)。升级下对应的jar包文件,或者打出debut信息,看看具体是哪个方法没有!