You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Daniel Hägg <da...@factum.se> on 2002/09/12 08:38:37 UTC
Complex return values = null
Hi!
I am trying to develop a client for an existing SOAP server using Axis RC1.
I have a problem with complex return values. They all end up as null.
I have developed the client by trying to write a valid WSDL file and
running WSDL2Java. The SOAP server was invented before WSDL,
so I am making the WSDL file up as I go along.
When I step inside the binding stub (generated by WSDL2Java) I find that
the return value has been successfully decoded. It is contained in the Map
returned by _call.getOutputParams(). However, the binding stub uses an
empty
namespace when it tries to look up the return value in the Map, and the
return value is stored with a valid namespace as key. The result is that
the return
value is not found and null is returned to my client application.
How can I make the binding stub use the correct namespace?
The start of my WSDL file looks like this:
<definitions
xmlns:http= "http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap= "http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s= "http://www.w3.org/2001/XMLSchema"
xmlns:s0="factum.se/dab"
xmlns:soapenc= "http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="factum.se/dab"
targetNamespace="factum.se/dab"
xmlns= "http://schemas.xmlsoap.org/wsdl/" >
<types>
<s:schema targetNamespace="factum.se/dab">
<s:complexType name="Entry">
<s:sequence>
<s:element name="time" type="s:dateTime"/>
<s:element name="configuration" type="s:string"/>
</s:sequence>
</s:complexType>
</s:schema>
</types>
<message name="RequestBook">
<part name="Entry" type="s0:Entry"/>
</message>
<message name="BookResponse">
<part name="Entry" type="s0:Entry"/>
</message>
The SOAP response looks like this:
<SOAP-ENV:Envelope
xmlns="factum.se/dab"
xmlns:DAB="factum.se/dab"
xmlns:xsd= "http://www.w3.org/2001/XMLSchema"
xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENV= "http://schemas.xmlsoap.org/soap/envelope/" >
<SOAP-ENV:Header/>
<SOAP-ENV:Body
xmlns:SOAP-ENC= "http://schemas.xmlsoap.org/soap/encoding/"
SOAP-ENV:encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/" >
<BookResponse>
<Entry xsi:type="DAB:Entry">
<time xsi:type="xsd:dateTime">2002-09-11T13:14:24Z</time>
<configuration xsi:type="xsd:string"><![CDATA[Kalle]]></configuration>
</Entry>
</BookResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Is there something wrong with the WSDL?
/
/ Daniel
Re: Problems deploying Axis in tomcat 4.1.10
Posted by Eoin Lane <eo...@capeclear.com>.
Eoin Lane wrote:
> When i try to deploy axisRC1 using the installation instruction into
> Tomcat 4.1.10 servlet engine I get the below error. Using the exact
> same installation in Tomcat 4.0, there is no problem. Am I doing
> something wrong here?
>
> Thx.
>
> Eoin
>
>
> here is the output from the tomcat logs
>
> 2002-09-10 15:28:46 HostConfig[localhost]: Deploying web application
> directory axis
> 2002-09-10 15:28:46 StandardHost[localhost]: Installing web
> application at context path /axis from URL
> file:C:\appserver\jakarta-tomcat-4.1.10\webapps\axis
> 2002-09-10 15:28:46 WebappLoader[/axis]: Deploying class repositories
> to work directory
> C:\appserver\jakarta-tomcat-4.1.10\work\Standalone\localhost\axis
> 2002-09-10 15:28:46 WebappLoader[/axis]: Deploy class files
> /WEB-INF/classes to
> C:\appserver\jakarta-tomcat-4.1.10\webapps\axis\WEB-INF\classes
> 2002-09-10 15:28:46 WebappLoader[/axis]: Deploy JAR
> /WEB-INF/lib/axis-ant.jar to
> C:\appserver\jakarta-tomcat-4.1.10\webapps\axis\WEB-INF\lib\axis-ant.jar
> 2002-09-10 15:28:46 WebappLoader[/axis]: Deploy JAR
> /WEB-INF/lib/axis.jar to
> C:\appserver\jakarta-tomcat-4.1.10\webapps\axis\WEB-INF\lib\axis.jar
> 2002-09-10 15:28:46 WebappLoader[/axis]: Deploy JAR
> /WEB-INF/lib/commons-discovery.jar to
> C:\appserver\jakarta-tomcat-4.1.10\webapps\axis\WEB-INF\lib\commons-discovery.jar
>
> 2002-09-10 15:28:46 WebappLoader[/axis]: Deploy JAR
> /WEB-INF/lib/commons-logging.jar to
> C:\appserver\jakarta-tomcat-4.1.10\webapps\axis\WEB-INF\lib\commons-logging.jar
>
> 2002-09-10 15:28:46 WebappLoader[/axis]: Deploy JAR
> /WEB-INF/lib/jaxrpc.jar to
> C:\appserver\jakarta-tomcat-4.1.10\webapps\axis\WEB-INF\lib\jaxrpc.jar
> 2002-09-10 15:28:46 WebappLoader[/axis]: Deploy JAR
> /WEB-INF/lib/log4j-1.2.4.jar to
> C:\appserver\jakarta-tomcat-4.1.10\webapps\axis\WEB-INF\lib\log4j-1.2.4.jar
>
> 2002-09-10 15:28:46 WebappLoader[/axis]: Deploy JAR
> /WEB-INF/lib/saaj.jar to
> C:\appserver\jakarta-tomcat-4.1.10\webapps\axis\WEB-INF\lib\saaj.jar
> 2002-09-10 15:28:46 WebappLoader[/axis]: Deploy JAR
> /WEB-INF/lib/wsdl4j.jar to
> C:\appserver\jakarta-tomcat-4.1.10\webapps\axis\WEB-INF\lib\wsdl4j.jar
> 2002-09-10 15:28:46 WebappLoader[/axis]: Deploy JAR
> /WEB-INF/lib/xerces.jar to
> C:\appserver\jakarta-tomcat-4.1.10\webapps\axis\WEB-INF\lib\xerces.jar
> 2002-09-10 15:28:46 ContextConfig[/axis] Exception processing JAR at
> resource path /WEB-INF/lib/commons-discovery.jar
> javax.servlet.ServletException: Exception processing JAR at resource
> path /WEB-INF/lib/commons-discovery.jar
> at
> org.apache.catalina.startup.ContextConfig.tldScanJar(ContextConfig.java:930)
>
> at
> org.apache.catalina.startup.ContextConfig.tldScan(ContextConfig.java:868)
> at
> org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:647)
> at
> org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:243)
>
> at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166)
>
> at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:3493)
> at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:821)
>
> at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
> at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:579)
> at
> org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:257)
>
> at
> org.apache.catalina.core.StandardHost.install(StandardHost.java:772)
> at
> org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:569)
>
> at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:411)
> at org.apache.catalina.startup.HostConfig.start(HostConfig.java:879)
> at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:368)
>
> at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166)
>
> at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1196)
> at org.apache.catalina.core.StandardHost.start(StandardHost.java:738)
> at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
> at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:347)
> at
> org.apache.catalina.core.StandardService.start(StandardService.java:497)
> at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:2191)
> at org.apache.catalina.startup.Catalina.start(Catalina.java:510)
> at org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
> at org.apache.catalina.startup.Catalina.process(Catalina.java:180)
> at java.lang.reflect.Method.invoke(Native Method)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)
> ----- Root Cause -----
> java.io.IOException: The system cannot find the path specified
> at java.io.Win32FileSystem.createFileExclusively(Native Method)
> at java.io.File.checkAndCreate(File.java:1162)
> at java.io.File.createTempFile(File.java:1247)
> at java.io.File.createTempFile(File.java:1284)
> at sun.net.www.protocol.jar.URLJarFile$1.run(URLJarFile.java:143)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.net.www.protocol.jar.URLJarFile.retrieve(URLJarFile.java:138)
> at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:43)
> at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:61)
> at
> sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:88)
>
> at
> sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:72)
>
> at
> org.apache.catalina.startup.ContextConfig.tldScanJar(ContextConfig.java:906)
>
> at
> org.apache.catalina.startup.ContextConfig.tldScan(ContextConfig.java:868)
> at
> org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:647)
> at
> org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:243)
>
> at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166)
>
> at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:3493)
> at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:821)
>
> at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
> at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:579)
> at
> org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:257)
>
> at
> org.apache.catalina.core.StandardHost.install(StandardHost.java:772)
> at
> org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:569)
>
> at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:411)
> at org.apache.catalina.startup.HostConfig.start(HostConfig.java:879)
> at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:368)
>
> at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166)
>
> at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1196)
> at org.apache.catalina.core.StandardHost.start(StandardHost.java:738)
> at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
> at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:347)
> at
> org.apache.catalina.core.StandardService.start(StandardService.java:497)
> at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:2191)
> at org.apache.catalina.startup.Catalina.start(Catalina.java:510)
> at org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
> at org.apache.catalina.startup.Catalina.process(Catalina.java:180)
> at java.lang.reflect.Method.invoke(Native Method)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)
>
> 2002-09-10 15:28:46 ContextConfig[/axis]: Marking this application
> unavailable due to previous error(s)
>
--
_______________________________
Eoin Lane, PhD
http://www.capescience.com/
_______________________________