complex types again

Marc Logemann <[email protected]> Tue, 2 Dec 2003 00:53:57 +0100
Newsgroups gmane.comp.java.enhydra.ksoap
Message-ID <rrufT0ErxId2s2kZzg7T08vQand4da2I4ZCp6VIfrDl@akmail>
Hi,

even with reading though the maillist archives, i cant complex
types getting to work.

Here is what i get from my Axis Webservice:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
  <ns1:getGolfCourseResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:CourseService">
    <ns1:getGolfCourseReturn href="#id0"/>
  </ns1:getGolfCourseResponse>
 <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:GolfCourse" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="urn:BeanService">
   <name xsi:type="xsd:string">Attighof</name>
   <tee xsi:type="xsd:string">gelb</tee>
	[.. a lot more attributes ..]
 </multiRef>
</soapenv:Body>
</soapenv:Envelope>


---

here my client code:

SoapObject rpc = new SoapObject("urn:CourseService", "getGolfCourse");
rpc.addProperty("string", symbol);
HttpTransport httpTransport = new HttpTransport("http://localhost:1234/axis/services/CourseService",
            "urn:CourseService#getGolfCourse");
ClassMap classMap = new ClassMap();
classMap.addMapping("urn:CourseService", "GolfCourse", new GolfCourse().getClass());
httpTransport.setClassMap(classMap);
GolfCourse gc = (GolfCourse)httpTransport.call(rpc);

---

my KvmSerializable is correct based on the article published on xml.com by Jeff
McHugh. The only thing i made different is that i only defined a subet of the complete struct coming back from my Axis Service in the KvmSerializable, because
of the horror work. Will do this later.

My Error is a simple ClassCastException on the call. Perhaps you will have some hint for me, besides this i have three questions:

#1: i dont know what to put into the namespace at method addMapping(), i guessed it must be urn:CourseService, is it?
#2: When does the deserialization occur?
#3: why is my response soap document so different from the example at http://webservices.xml.com/pub/a/ws/2003/08/19/ksoap.html?

Thanks for help. Hopefully this is only a small problem.


---
regards
Marc Logemann
check http://www.logemann.org