You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ji...@apache.org on 2004/06/09 22:24:10 UTC

[jira] Commented: (AXIS-1370) Class Cast When Calling a Service from another service - passing a Hashmap

The following comment has been added to this issue:

     Author: Davanum Srinivas
    Created: Wed, 9 Jun 2004 1:23 PM
       Body:
which version of axis? can you try a nightly build? This could be related to http://nagoya.apache.org/jira/browse/AXIS-1162 in which case you can use the org.apache.axis.client.async stuff from within your service. this starts the call on another thread.
---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/AXIS-1370?page=comments#action_36006

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/AXIS-1370

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1370
    Summary: Class Cast When Calling a Service from another service - passing a Hashmap
       Type: Bug

     Status: Unassigned
   Priority: Major

    Project: Axis

   Assignee: 
   Reporter: Richard

    Created: Thu, 27 May 2004 3:03 AM
    Updated: Wed, 9 Jun 2004 1:23 PM
Environment: Axis Happiness Page
Examining webapp configuration

Needed Components
Found SAAJ API (javax.xml.soap.SOAPMessage) at D:\jwsdp-1.3\common\lib\saaj.jar
Found JAX-RPC API (javax.xml.rpc.Service) at D:\jwsdp-1.3\common\lib\jaxrpc.jar
Found Apache-Axis (org.apache.axis.transport.http.AxisServlet) at D:\jwsdp-1.3\webapps\StcsHub\WEB-INF\lib\axis.jar
Found Jakarta-Commons Discovery (org.apache.commons.discovery.Resource) at D:\jwsdp-1.3\webapps\StcsHub\WEB-INF\lib\commons-discovery.jar
Found Jakarta-Commons Logging (org.apache.commons.logging.Log) at D:\jwsdp-1.3\common\lib\commons-logging.jar
Found Log4j (org.apache.log4j.Layout) at D:\jwsdp-1.3\webapps\StcsHub\WEB-INF\lib\log4j-1.2.8.jar
Found IBM's WSDL4Java (com.ibm.wsdl.factory.WSDLFactoryImpl) at D:\jwsdp-1.3\webapps\StcsHub\WEB-INF\lib\wsdl4j.jar
Found JAXP implementation (javax.xml.parsers.SAXParserFactory) at an unknown location
Found Activation API (javax.activation.DataHandler) at D:\jwsdp-1.3\jwsdp-shared\lib\activation.jar

Optional Components
Found Mail API (javax.mail.internet.MimeMessage) at D:\jwsdp-1.3\jwsdp-shared\lib\mail.jar
Found XML Security API (org.apache.xml.security.Init) at D:\jwsdp-1.3\xws-security\lib\xmlsec.jar
Found Java Secure Socket Extension (javax.net.ssl.SSLSocketFactory) at an unknown location

The core axis libraries are present. The optional components are present.
Note: Even if everything this page probes for is present, there is no guarantee your web service will work, because there are many configuration options that we do not check for. These tests are necessary but not sufficient 


--------------------------------------------------------------------------------

Examining Application Server
Servlet version 2.4 
XML Parser org.apache.xerces.jaxp.SAXParserImpl 
XML ParserLocation an unknown location 

Examining System Properties
java.vendor=Sun Microsystems Inc.
org.xml.sax.parser=org.xml.sax.helpers.XMLReaderAdapter
catalina.base=D:\jwsdp-1.3
org.apache.commons.launcher.appendOutput=
catalina.useNaming=true
https.proxyHost=
os.name=Windows XP
sun.boot.class.path=D:\jwsdp-1.3\jaxp\lib\endorsed\dom.jar;D:\jwsdp-1.3\jaxp\lib\endorsed\sax.jar;D:\jwsdp-1.3\jaxp\lib\endorsed\xalan.jar;D:\jwsdp-1.3\jaxp\lib\endorsed\xercesImpl.jar;D:\jwsdp-1.3\jaxp\lib\endorsed\xsltc.jar;d:\j2sdk1.4.1_01\jre\lib\rt.jar;d:\j2sdk1.4.1_01\jre\lib\i18n.jar;d:\j2sdk1.4.1_01\jre\lib\sunrsasign.jar;d:\j2sdk1.4.1_01\jre\lib\jsse.jar;d:\j2sdk1.4.1_01\jre\lib\jce.jar;d:\j2sdk1.4.1_01\jre\lib\charsets.jar;d:\j2sdk1.4.1_01\jre\classes
sun.java2d.fontpath=
java.vm.specification.vendor=Sun Microsystems Inc.
org.apache.commons.launcher.minimizedWindowTitle=JWSDP 1.3
java.runtime.version=1.4.1_01-b01
ANT_HOME=D:\jwsdp-1.3\apache-ant
http.proxyPort=
user.name=Richard
javax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl
user.language=en
java.naming.factory.initial=org.apache.naming.java.javaURLContextFactory
sun.boot.library.path=d:\j2sdk1.4.1_01\jre\bin
sun.io.useCanonCaches=false
java.version=1.4.1_01
user.timezone=Europe/London
sun.arch.data.model=32
org.apache.commons.launcher.disposeMinimizedWindow=
java.endorsed.dirs=D:\jwsdp-1.3\jaxp\lib\endorsed
sun.cpu.isalist=pentium i486 i386
file.encoding.pkg=sun.io
file.separator=\
java.specification.name=Java Platform API Specification
java.class.version=48.0
user.country=GB
org.apache.commons.launcher.displayMinimizedWindow=
java.home=d:\j2sdk1.4.1_01\jre
org.xmldb.common.xml.queries.XPathQueryFactory=org.apache.xindice.core.xupdate.XPathQueryFactoryImpl
javax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
java.vm.info=mixed mode
os.version=5.1
https.proxyPort=
org.apache.xindice.root-collection=D:\jwsdp-1.3/registry-server/Xindice/db
ftp.proxyHost=
path.separator=;
jwsdp.home=D:\jwsdp-1.3
java.vm.version=1.4.1_01-b01
java.util.prefs.PreferencesFactory=java.util.prefs.WindowsPreferencesFactory
user.variant=
java.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol|org.apache.axis.transport|
java.awt.printerjob=sun.awt.windows.WPrinterJob
sun.io.unicode.encoding=UnicodeLittle
awt.toolkit=sun.awt.windows.WToolkit
xindice.db.home=D:\jwsdp-1.3/registry-server/Xindice
java.naming.factory.url.pkgs=org.apache.naming
user.home=C:\Documents and Settings\Richard.STCS
java.specification.vendor=Sun Microsystems Inc.
org.xml.sax.driver=org.apache.xerces.parsers.SAXParser
java.library.path=d:\j2sdk1.4.1_01\jre\bin;.;C:\WINDOWS\System32;C:\WINDOWS;e:\Oracle\9i\bin;C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin;e:\oracle\10gDev\jdk\jre\bin\client;e:\oracle\10gDev\bin;e:\oracle\10gDev\jlib;e:\oracle\10gDev\jre\1.1.8\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\WatchGuard\lib;d:\jwsdp-1.3\jwsdp-shared\bin;D:\JBoss\ant-1.5.1\bin
java.vendor.url=http://java.sun.com/
java.vm.vendor=Sun Microsystems Inc.
java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition
java.class.path=D:\jwsdp-1.3\jwsdp-shared\bin\commons-launcher.jar;D:\j2sdk1.4.1_01\lib\tools.jar;D:\jwsdp-1.3\bin;D:\jwsdp-1.3\bin\bootstrap.jar;D:\j2sdk1.4.1_01\lib\tools.jar;D:\j2sdk1.4.1_01\jre\lib\ext\localedata.jar;D:\jwsdp-1.3\jstl\tld;D:\j2sdk1.4.1_01\jre\lib\ext\access-bridge.jar;D:\j2sdk1.4.1_01\jre\lib\ext\jaccess.jar
javax.naming.Context.INITIAL_CONTEXT_FACTORY=org.apache.naming.java.javaURLContextFactory
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.version=1.0
catalina.home=D:\jwsdp-1.3
sun.cpu.endian=little
sun.os.patch.level=Service Pack 1
java.io.tmpdir=C:\DOCUME~1\RICHAR~1.STC\LOCALS~1\Temp\
java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi
org.apache.commons.launcher.outputFile=D:\jwsdp-1.3\logs\launcher.server.log
http.proxyHost=
os.arch=x86
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.ext.dirs=D:\jwsdp-1.3\lib\ext;D:\j2sdk1.4.1_01\jre\jre\lib\ext
ftp.proxyPort=
user.dir=C:\Documents and Settings\Richard.STCS\Desktop\WebServices
line.separator=

java.vm.name=Java HotSpot(TM) Client VM
java.security.auth.login.config=D:\jwsdp-1.3/xws-security/etc/server-config.jaas
file.encoding=Cp1252
java.specification.version=1.4
javax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl



--------------------------------------------------------------------------------
Platform: Java Web Services Developer Pack/1.3 

Description:
When I make the call to the target service from a client it works okay. If I make the call from another service I get the following dump. The Hashmap includes simple types i.e. only Strings. 

The call in the code is as follows;

        Call call = (Call) service.createCall();
        call.setTargetEndpointAddress(new java.net.URL("http://localhost:8080/StcsHub/services/XMLGenerator?wsdl"));
        call.setOperationName(new javax.xml.namespace.QName("XMLGenerator","genXMLHashMap"));
        call.setReturnType(XMLType.XSD_STRING);
        call.addParameter("in0",XMLType.SOAP_MAP,ParameterMode.IN);

        Object[] fred = new Object[] {thishm};
        xml = (String)call.invoke(fred);    

I'm flumoxed.

Dump is as follows;

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: java.lang.ClassCastException
 faultActor: 
 faultNode: 
 faultDetail: 
	{http://xml.apache.org/axis/}stackTrace: java.lang.ClassCastException
	at org.apache.axis.deployment.wsdd.WSDDTargetedChain.makeNewInstance(WSDDTargetedChain.java:196)
	at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:310)
	at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:296)
	at org.apache.axis.deployment.wsdd.WSDDDeployment.getTransport(WSDDDeployment.java:470)
	at org.apache.axis.configuration.FileProvider.getTransport(FileProvider.java:282)
	at org.apache.axis.AxisEngine.getTransport(AxisEngine.java:283)
	at org.apache.axis.client.AxisClient.invoke(AxisClient.java:179)
	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 stcs.services.connection.DBConnectionSoapBindingImpl.getXML(DBConnectionSoapBindingImpl.java:198)
	at stcs.services.connection.DBConnectionSoapBindingImpl.getSimpleDataAsXML(DBConnectionSoapBindingImpl.java:217)
	at stcs.services.connection.DBConnectionSoapBindingSkeleton.getSimpleDataAsXML(DBConnectionSoapBindingSkeleton.java:101)
	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:324)
	at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:402)
	at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:309)
	at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:333)
	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.handlers.soap.SOAPService.invoke(SOAPService.java:481)
	at org.apache.axis.server.AxisServer.invoke(AxisServer.java:323)
	at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:854)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
	at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:339)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:286)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:258)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:256)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:210)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:196)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:175)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
	at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:383)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:974)
	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:207)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:647)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:499)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:575)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:649)
	at java.lang.Thread.run(Thread.java:536)


java.lang.ClassCastException
	at org.apache.axis.AxisFault.makeFault(AxisFault.java:129)
	at org.apache.axis.client.AxisClient.invoke(AxisClient.java:210)
	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 stcs.services.connection.DBConnectionSoapBindingImpl.getXML(DBConnectionSoapBindingImpl.java:198)
	at stcs.services.connection.DBConnectionSoapBindingImpl.getSimpleDataAsXML(DBConnectionSoapBindingImpl.java:217)
	at stcs.services.connection.DBConnectionSoapBindingSkeleton.getSimpleDataAsXML(DBConnectionSoapBindingSkeleton.java:101)
	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:324)
	at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:402)
	at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:309)
	at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:333)
	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.handlers.soap.SOAPService.invoke(SOAPService.java:481)
	at org.apache.axis.server.AxisServer.invoke(AxisServer.java:323)
	at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:854)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
	at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:339)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:286)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:258)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:256)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:210)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:196)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:175)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
	at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:383)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:974)
	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:207)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:647)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:499)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:575)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:649)
	at java.lang.Thread.run(Thread.java:536)
Caused by: java.lang.ClassCastException
	at org.apache.axis.deployment.wsdd.WSDDTargetedChain.makeNewInstance(WSDDTargetedChain.java:196)
	at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:310)
	at org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:296)
	at org.apache.axis.deployment.wsdd.WSDDDeployment.getTransport(WSDDDeployment.java:470)
	at org.apache.axis.configuration.FileProvider.getTransport(FileProvider.java:282)
	at org.apache.axis.AxisEngine.getTransport(AxisEngine.java:283)
	at org.apache.axis.client.AxisClient.invoke(AxisClient.java:179)
	... 52 more



---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira