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