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/
_______________________________