RE: URGENT:!!! Please help insert XML data in kSOAP envelope

<[email protected]> Wed, 29 Oct 2003 15:57:16 +0200
Newsgroups gmane.comp.java.enhydra.ksoap
Message-ID <[email protected]>
Hi
    i am using following code for inserting 
<agency>
   <name>..</name>
   <tel>..</tel>
  <email>..</email>
  <contacted>...</contacted>
  <contactPerson>...</contactPerson>
</agency>
 
on the receiving side (struts/servlet) i can successfully build a SOAPEnvelope..
 
SoapObject method = new SoapObject("http://www.tgmm.com/agenciesdemo", "agency");

method.addProperty("name", name);

method.addProperty("tel", phone);

method.addProperty("email", email);

method.addProperty("contacted", contact);

method.addProperty("contactperson",person); 

SoapSerializationEnvelope envelope =

new SoapSerializationEnvelope(SoapSerializationEnvelope.VER10);

envelope.bodyOut = method;

System.err.println("connecting to new endpoint...");

HttpTransport ht = new HttpTransport("http://localhost:8080/struts/insert.do");//http://services.xmethods.net/soap");

ht.debug = true;

try {


ht.call("http://localhost:8080/struts/insert.do", envelope);

}

catch (Exception e) {

e.printStackTrace();

}

 

hope this helps...

 

regards

    marco

 

-----Original Message-----
From: [email protected] [mailto:[email protected]]On Behalf Of ext KHOURY Shérine (Dr&T)
Sent: 29 October, 2003 16:16
To: [email protected]
Subject: Ksoap: URGENT:!!! Please help insert XML data in kSOAP envelope


Hi guys,
I have to send an XML result looking like this
<Person>
<FirstName>Smith</FirstName>
<LastName>John</LastName>
</Person>
inside a SOAP message using kSOAP.
I'm proceding as follows:
//result being a String containing the XML result
response = new SoapObject( soapReq.getNamespace( ) , name + "Response" );
    if ( result != null )
        response.addProperty( "return", result );
    }
SoapEnvelope ResEnv = new SoapEnvelope();
    // Puts the Soap response in the envelope's body
    ResEnv.setBody(response);

The problem is that upon receipt of this Soap message, the contents of the SOAP envelope looks something like this:
<SOAP-ENV:Envelope xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" <http://www.w3.org/2001/XMLSchema-instance>  xmlns:xsd= "http://www.w3.org/2001/XMLSchema" <http://www.w3.org/2001/XMLSchema>  xmlns:SOAP-ENC= "http://schemas.xmlsoap.org/soap/encoding/" <http://schemas.xmlsoap.org/soap/encoding/>  xmlns:SOAP-ENV= "http://schemas.xmlsoap.org/soap/envelope/" <http://schemas.xmlsoap.org/soap/envelope/> >
 <SOAP-ENV:Body SOAP-ENV:encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/" <http://schemas.xmlsoap.org/soap/encoding/> >
  <findResponse xmlns="urn:sncf:profilekeeper:profilekeeper.ProfileKeeper" id="o0" SOAP-ENC:root="1">
   <return xmlns="" xsi:type="xsd:string">&lt;Person&gt;
                &lt;FirstName&gt;Smith&lt;/FirstName&gt;
                &lt;LastName&gt;John&lt;/LastName&gt;
                &lt;Person&gt;
                 </return>
  </findResponse>
 </SOAP-ENV:Body>

Can anyone tell me how to avoid letting SoapObject assume all properties to be Strings?
I'm in urgent need of help!! So I will appreciate any suggestions