axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Gainty (JIRA)" <axis-...@ws.apache.org>
Subject [jira] [Commented] (AXIS-2296) Get the following exception when web service call is made by client : java.lang.NoSuchMethodException: org.apache.axis.encoding.ser.ArrayDeserializerFactory.create(java.lang.Class, javax.xml.namespace.QName)
Date Thu, 18 Dec 2014 15:15:13 GMT

    [ https://issues.apache.org/jira/browse/AXIS-2296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14251778#comment-14251778
] 

Martin Gainty commented on AXIS-2296:
-------------------------------------

ArrayDeserializerFactory donated by IBM has no such method ..calling this will always fubar
your installation
/*
 * Copyright 2001-2004 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.axis.encoding.ser;
import javax.xml.namespace.QName;

/**
 * DeserializerFactory for arrays
 *
 * @author Rich Scheuerle <scheu@us.ibm.com>
 */
public class ArrayDeserializerFactory extends BaseDeserializerFactory {
    private QName componentXmlType;

    public ArrayDeserializerFactory() {
        super(ArrayDeserializer.class);
    }

    /**
     * Constructor
     * @param componentXmlType the desired component type for this deser
     * this is the namespace from your XML
     */
    public ArrayDeserializerFactory(QName componentXmlType) {
        super(ArrayDeserializer.class);
        this.componentXmlType = componentXmlType;
    }

    /**
     * getDeserializerAs() is overloaded here in order to set the default
     * item type on the ArrayDeserializers we create.
     *
     * @param mechanismType
     * @return
     */
    public javax.xml.rpc.encoding.Deserializer getDeserializerAs(String mechanismType) {
        ArrayDeserializer dser = (ArrayDeserializer) super.getDeserializerAs(mechanismType);
        dser.defaultItemType = componentXmlType;
        return dser;
    }

    public void setComponentType(QName componentType) {
        componentXmlType = componentType;
    }
}
2.1.6 BaseDeserializerFactory has NO acommodation for ArrayDeserializerFactory in 2.1.6+ so
this wont work in Axis 2.1.6+
I would  remove all Axis libraries from CLASSPATH and $TOMCAT_HOME\lib and regenerate AxisService
and client stubs
with Axis2-1.6+
OR
if you can find a backup copy of axis-1.3 then use axis-1.3 libraries exclusively 

do NOT mix Axis1.3 and Axis2-1.6 libraries in CLASSPATH or $TOMCAT_HOME/lib

Axis2-1.6 has been re-architected and will not support Axis-1.3 code so making sure your CLASSPATH
contains
ONLY axis2-1.6 would be your best solution

Nota Bene: //org.apache.axis.wsdl.toJava.JavaDeployWriter detects []
if (javaType.endsWith("[]")) {  //end your java types with [] will elect SimpleListDeserializerFactory
                    if (SchemaUtils.isListWithItemType(type.getNode())) {
                        serializerFactory =
                        "org.apache.axis.encoding.ser.SimpleListSerializerFactory";
                        deserializerFactory =
                        "org.apache.axis.encoding.ser.SimpleListDeserializerFactory";
                    } else {
                        serializerFactory =
                        "org.apache.axis.encoding.ser.ArraySerializerFactory";
                        deserializerFactory =
                        "org.apache.axis.encoding.ser.ArrayDeserializerFactory";
                        innerType = type.getComponentType();
                    }
Keep us apprised
Martin-



> Get the following exception when web service call is made by client : java.lang.NoSuchMethodException:
org.apache.axis.encoding.ser.ArrayDeserializerFactory.create(java.lang.Class, javax.xml.namespace.QName)
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS-2296
>                 URL: https://issues.apache.org/jira/browse/AXIS-2296
>             Project: Axis
>          Issue Type: Bug
>          Components: Basic Architecture, Deployment / Registries, Serialization/Deserialization,
WSDL processing
>         Environment: Web service is hosted on Unix box on tomcat written in Java
>            Reporter: Vinita Joshi
>            Priority: Critical
>
> When the webservice called WorkflowService is called by the client the following exception
is thrown,
> DEBUG: 08 Nov 2005 19:18:10,356 at org.apache.axis.i18n.ProjectResourceBundle.handleGetObject(ProjectResourceBundle.java:72)
org.apache.axis.i18n.resource::handleGetObject(exception00)
> DEBUG: 08 Nov 2005 19:18:10,359 at org.apache.axis.encoding.ser.BaseDeserializerFactory.createFactory(BaseDeserializerFactory.java:210)
Exception:
> java.lang.NoSuchMethodException: org.apache.axis.encoding.ser.ArrayDeserializerFactory.create(java.lang.Class,
javax.xml.namespace.QName)
>  at java.lang.Class.getMethod0(Class.java:1756)
>  at java.lang.Class.getMethod(Class.java:963)
>  at org.apache.axis.encoding.ser.BaseDeserializerFactory.createFactory(BaseDeserializerFactory.java:203)
>  at org.apache.axis.deployment.wsdd.WSDDService.deployTypeMapping(WSDDService.java:524)
>  at org.apache.axis.deployment.wsdd.WSDDService.initTMR(WSDDService.java:235)
>  at org.apache.axis.deployment.wsdd.WSDDService.<init>(WSDDService.java:215)
>  at org.apache.axis.deployment.wsdd.WSDDDeployment.<init>(WSDDDeployment.java:204)
>  at org.apache.axis.deployment.wsdd.WSDDDocument.setDocument(WSDDDocument.java:121)
>  at org.apache.axis.deployment.wsdd.WSDDDocument.<init>(WSDDDocument.java:60)
>  at org.apache.axis.configuration.FileProvider.configureEngine(FileProvider.java:171)
>  at org.apache.axis.AxisEngine.init(AxisEngine.java:155)
>  at org.apache.axis.AxisEngine.<init>(AxisEngine.java:139)
>  at org.apache.axis.client.AxisClient.<init>(AxisClient.java:49)
>  at org.apache.axis.client.Service.getAxisClient(Service.java:104)
>  at org.apache.axis.client.Service.<init>(Service.java:113)
>  at com.cisco.ccw.a2qccx.webservices.WorkflowLocator.<init>(WorkflowLocator.java:18)
>  at com.cisco.ccw.a2qccx.client.WorkflowAdapter._getServiceReference(WorkflowAdapter.java:918)
>  at com.cisco.ccw.a2qccx.client.WorkflowAdapter.startWorkflow(WorkflowAdapter.java:216)
>  at com.cisco.a2q.util.LivelinkImpl.startWorkFlow(LivelinkImpl.java:126)
>  at com.cisco.a2q.presx.manager.DSManager.submitNormalDS(DSManager.java:750)
>  at com.cisco.a2q.presx.manager.DSManager.submitDSAfterAutoANRStatusValidation(DSManager.java:1162)
>  at com.cisco.a2q.presx.manager.DSManager.submitDS(DSManager.java:1476)
>  at com.cisco.a2q.presx.action.DSAction.execute(DSAction.java:970)
>  at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
>  at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
>  at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
>  at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
>  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
>  at com.cisco.a2q.servlet.A2QSessionFilter.doFilter(A2QSessionFilter.java:239)
>  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
>  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
>  at com.cisco.a2q.sdn.servlet.SDNSessionFilter.doFilter(SDNSessionFilter.java:118)
>  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
>  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
>  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
>  at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>  at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>  at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:562)
>  at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>  at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2489)
>  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
>  at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>  at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
>  at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
>  at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>  at org.apache.catalina.cisco.logvalve.AccessLogValve.invoke(AccessLogValve.java:579)
>  at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
>  at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>  at org.apache.catalina.core.StandardEngine.invoke(StandardEngine.java:376)
>  at com.borland.catalina.connector.iiop.ProcessorImpl.processNoChunk(ProcessorImpl.java:206)
>  at com.borland.catalina.connector.iiop.ProcessorImpl.processInternal(ProcessorImpl.java:164)
>  at com.borland.catalina.connector.iiop.ProcessorImpl.process(ProcessorImpl.java:79)
>  at com.borland.catalina.connector.iiop.gen.ReqProcessorPOA._invoke(ReqProcessorPOA.java:68)
>  at com.borland.catalina.connector.iiop.gen.ReqProcessorPOA._invoke(ReqProcessorPOA.java:51)
>  at com.inprise.vbroker.poa.POAImpl.invoke(POAImpl.java:2822)
>  at com.inprise.vbroker.poa.ActivationRecord.invoke(ActivationRecord.java:186)
>  at com.inprise.vbroker.poa.ServerInterceptorManager$ARWrapper.invoke(ServerInterceptorManager.java:111)
>  at com.inprise.vbroker.GIOP.GiopProtocolAdapter.doRequest(GiopProtocolAdapter.java:832)
>  at com.inprise.vbroker.IIOP.ServerProtocolAdapter.doRequest(ServerProtocolAdapter.java:68)
>  at com.inprise.vbroker.GIOP.GiopProtocolAdapter.dispatchMessage(GiopProtocolAdapter.java:1114)
>  at com.inprise.vbroker.orb.TPDispatcherImpl$TPDispatcher.run(TPDispatcherImpl.java:106)
>  at com.inprise.vbroker.orb.ThreadPool$PoolWorker.run(ThreadPool.java:76)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


Mime
View raw message