AW: URGENT:!!! Please help insert XML data in kSOAP envel ope

"Hepp A., DP ITS,SMR,TR" <[email protected]> Thu, 30 Oct 2003 13:42:29 +0100
Newsgroups gmane.comp.java.enhydra.ksoap
Message-ID <A1BD40E92A77D411BC820001FA3264CA0275DE8F@NWTAH022.DeutschePost.de>
As I see it, you need to set your return as the body of the envelope, not
add it as parameter.
That is, when you shall form the body out of the response.
 
If you have several parameters that are dynamical, you have to use an own
Marshal Implementation, i think.
 
At least that is what i can think of, when shortly thinking about it.
 
HF & GL
 
Kind Regards.
Alex Hepp

-----Ursprüngliche Nachricht-----
Von: KHOURY Shérine (Dr&T) [mailto:[email protected]]
Gesendet: Donnerstag, 30. Oktober 2003 14:14
An: [email protected]
Betreff: Re: Ksoap: URGENT:!!! Please help insert XML data in kSOAP envelope


[email protected] <mailto:[email protected]>  wrote:


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"
<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://localhost:8080/struts/insert.do> );//
http://services.xmethods.net/soap <http://services.xmethods.net/soap> ");

ht.debug = true;

try {



ht.call( "http://localhost:8080/struts/insert.do"
<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]>  [
mailto:[email protected] <mailto:[email protected]> ]On Behalf
Of ext KHOURY Shérine (Dr&T)
Sent: 29 October, 2003 16:16
To: [email protected] <mailto:[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


Hello Marco,
Thanks for your help. But my problem is that in my case, the XML part that I
need to add in the SOAP message does not have a standard structure. It's the
answer returned by some query, so it's really dependant of that query.
Therefore what you suggested does not exactly fit to what I want to do. Do
you have any more ideas?
Thanks anyway!!
Shérine