handling array of complex type objects

"Rohit_Arora" <[email protected]> Fri, 5 Dec 2003 18:52:41 +0530
Newsgroups gmane.comp.java.enhydra.ksoap
Message-ID <[email protected]>
This is a multi-part message in MIME format.

------=_NextPartTM-000-fb907a95-db4c-49df-a2b1-7c5cdcd0bb0f
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C3BB32.DC2D12F3"

------_=_NextPart_001_01C3BB32.DC2D12F3
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hello All,
  I have got this problem, that in response soap message, I am receiving
3 simple elements and 1 array of complex type object.=20
 I am able to parse the 3 simple elements but now the problem is in
extracting the elements from the fourth important element.=20
=20
1>     I know that handling of array elements is handled thru vector
type variables in KSOAP. I could even find the size of the vector. But
how should I extract the indivisual elements from the vector ?
=20
The wsdl is something like this :-
=20
<xsd:complexType name=3D"xyz">
<xsd:all>
 <xsd:element name=3D"abc" type=3D"string" />
....// other elements
  <xsd:element name=3D"Details" type=3D"typens:DetailsArray"/>
</xsd:all>
=20
<xsd:complexType name=3D"DetailsArray">
<xsd:complexContent>
<xsd:restriction base=3D"soapenc:Array">
  <xsd:attribute ref=3D"soapenc:arrayType"
wsdl:arrayType=3D"typens:Details[]" />=20
  </xsd:restriction>
  </xsd:complexContent>
  </xsd:complexType>
<xsd:complexType name=3D"Details">
 <xsd:all>
  <xsd:element name=3D"Url" type=3D"xsd:string" minOccurs=3D"0" />=20
 <xsd:element name=3D"Asin" type=3D"xsd:string" minOccurs=3D"0" />=20
 <xsd:element name=3D"ProductName" type=3D"xsd:string" minOccurs=3D"0" =
/>=20
 <xsd:element name=3D"Catalog" type=3D"xsd:string" minOccurs=3D"0" />=20
</xsd:all>
=20
Thanks in anticipation,=20
Regards,=20
Rohit Arora.


=20

------_=_NextPart_001_01C3BB32.DC2D12F3
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii">
<meta name=3DProgId content=3DWord.Document>
<meta name=3DGenerator content=3D"Microsoft Word 10">
<meta name=3DOriginator content=3D"Microsoft Word 10">
<link rel=3DFile-List href=3D"cid:[email protected]">
<!--[if gte mso 9]><xml>
 <o:OfficeDocumentSettings>
  <o:DoNotRelyOnCSS/>
 </o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:SpellingState>Clean</w:SpellingState>
  <w:GrammarState>Clean</w:GrammarState>
  <w:DocumentKind>DocumentEmail</w:DocumentKind>
  <w:EnvelopeVis/>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
  </w:Compatibility>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
 </w:WordDocument>
</xml><![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Verdana;
	panose-1:2 11 6 4 3 5 4 4 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:536871559 0 0 0 415 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:"";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;
	text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;
	text-underline:single;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	mso-style-noshow:yes;
	mso-ansi-font-size:10.0pt;
	mso-bidi-font-size:10.0pt;
	font-family:Arial;
	mso-ascii-font-family:Arial;
	mso-hansi-font-family:Arial;
	mso-bidi-font-family:Arial;
	color:windowtext;}
span.SpellE
	{mso-style-name:"";
	mso-spl-e:yes;}
span.GramE
	{mso-style-name:"";
	mso-gram-e:yes;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:1293243943;
	mso-list-type:hybrid;
	mso-list-template-ids:-1500191214 -883009502 67698713 67698715 67698703 =
67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
	{mso-level-text:%1>;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
-->
</style>
<!--[if gte mso 10]>
<style>
 /* Style Definitions */=20
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-parent:"";
	mso-padding-alt:0in 5.4pt 0in 5.4pt;
	mso-para-margin:0in;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";}
</style>
<![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple =
style=3D'tab-interval:.5in'>

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Hello All,<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><span style=3D'mso-spacerun:yes'>&nbsp; </span>I have =
got this
problem, that in response soap <span class=3DGramE>message,</span> I am =
receiving
3 simple elements and 1 array of complex type object. =
<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><span style=3D'mso-spacerun:yes'>&nbsp;</span>I am =
able to
parse the 3 simple elements but now the problem is in extracting the =
elements
from the fourth important element. <o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal =
style=3D'margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1;
tab-stops:list .5in'><![if !supportLists]><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial;mso-fareast-font-family:Arial=
'><span
style=3D'mso-list:Ignore'>1&gt;<font size=3D1 face=3D"Times New =
Roman"><span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp; =
</span></font></span></span></font><![endif]><font
size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial'>I know that
handling of array elements is handled thru vector type variables in =
KSOAP. I
could even find the size of the vector. But how should I extract the =
<span
class=3DSpellE>indivisual</span> elements from the <span =
class=3DGramE>vector ?</span><o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>The <span class=3DSpellE>wsdl</span> is something =
like <span
class=3DGramE>this :</span>-<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>&lt;<span class=3DSpellE>xsd<span =
class=3DGramE>:complexType</span></span>
name=3D&#8221;xyz&#8221;&gt;<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>&lt;<span class=3DSpellE><span =
class=3DGramE>xsd:</span>all</span>&gt;<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><span =
style=3D'mso-spacerun:yes'>&nbsp;</span>&lt;<span
class=3DSpellE>xsd<span class=3DGramE>:element</span></span> =
name=3D&#8221;<span
class=3DSpellE>abc</span>&#8221; type=3D&#8221;string&#8221; =
/&gt;<o:p></o:p></span></font></p>

<p class=3DMsoNormal><span class=3DGramE><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>&#8230;./</span></font></spa=
n><font
size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial'>/ other
elements<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><span style=3D'mso-spacerun:yes'>&nbsp; =
</span>&lt;<span
class=3DSpellE>xsd<span class=3DGramE>:element</span></span> =
name=3D&#8221;Details&#8221;
type=3D&#8221;<span =
class=3DSpellE>typens:DetailsArray</span>&#8221;/&gt;<o:p></o:p></span></=
font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>&lt;/<span class=3DSpellE>xsd<span =
class=3DGramE>:all</span></span>&gt;<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>&lt;<span class=3DSpellE>xsd<span =
class=3DGramE>:complexType</span></span>
name=3D&quot;<span class=3DSpellE><b><span =
style=3D'font-weight:bold'>DetailsArray</span></b></span>&quot;&gt;<o:p><=
/o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>&lt;<span class=3DSpellE><span =
class=3DGramE>xsd:</span>complexContent</span>&gt;<o:p></o:p></span></fon=
t></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>&lt;<span class=3DSpellE>xsd<span =
class=3DGramE>:restriction</span></span>
base=3D&quot;<span class=3DSpellE><b><span =
style=3D'font-weight:bold'>soapenc:Array</span></b></span>&quot;&gt;<o:p>=
</o:p></span></font></p>

<p class=3DMsoNormal><b><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial;font-weight:bold'>&nbsp;</span></font></b><font =
size=3D2
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial'> =
&lt;<span
class=3DSpellE>xsd<span class=3DGramE>:attribute</span></span> =
ref=3D&quot;<span
class=3DSpellE><b><span =
style=3D'font-weight:bold'>soapenc:arrayType</span></b></span>&quot;
<span class=3DSpellE>wsdl:arrayType</span>=3D&quot;<span =
class=3DSpellE><b><span
style=3D'font-weight:bold'>typens:Details</span></b></span><b><span
style=3D'font-weight:bold'>[]</span></b>&quot; /&gt; =
<o:p></o:p></span></font></p>

<p class=3DMsoNormal><b><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial;font-weight:bold'>&nbsp;</span></font></b><font =
size=3D2
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial'> =
&lt;/<span
class=3DSpellE>xsd<span =
class=3DGramE>:restriction</span></span>&gt;<o:p></o:p></span></font></p>=


<p class=3DMsoNormal><b><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial;font-weight:bold'>&nbsp;</span></font></b><font =
size=3D2
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial'> =
&lt;/<span
class=3DSpellE>xsd<span =
class=3DGramE>:complexContent</span></span>&gt;<o:p></o:p></span></font><=
/p>

<p class=3DMsoNormal><b><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial;font-weight:bold'>&nbsp;</span></font></b><font =
size=3D2
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial'> =
&lt;/<span
class=3DSpellE>xsd<span =
class=3DGramE>:complexType</span></span>&gt;<o:p></o:p></span></font></p>=


<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>&lt;<span class=3DSpellE>xsd<span =
class=3DGramE>:complexType</span></span>
name=3D&quot;<b><span =
style=3D'font-weight:bold'>Details</span></b>&quot;&gt;<o:p></o:p></span>=
</font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><span =
style=3D'mso-spacerun:yes'>&nbsp;</span>&lt;<span
class=3DSpellE><span =
class=3DGramE>xsd:</span>all</span>&gt;<o:p></o:p></span></font></p>

<p class=3DMsoNormal><b><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial;font-weight:bold'>&nbsp;</span></font></b><font =
size=3D2
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial'> =
&lt;<span
class=3DSpellE>xsd<span class=3DGramE>:element</span></span> =
name=3D&quot;<span
class=3DSpellE><b><span =
style=3D'font-weight:bold'>Url</span></b></span>&quot; =
type=3D&quot;<span
class=3DSpellE><b><span =
style=3D'font-weight:bold'>xsd:string</span></b></span>&quot;
<span class=3DSpellE>minOccurs</span>=3D&quot;<b><span =
style=3D'font-weight:bold'>0</span></b>&quot;
/&gt; <o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><span =
style=3D'mso-spacerun:yes'>&nbsp;</span>&lt;<span
class=3DSpellE>xsd<span class=3DGramE>:element</span></span> =
name=3D&quot;<span
class=3DSpellE><b><span =
style=3D'font-weight:bold'>Asin</span></b></span>&quot;
type=3D&quot;<span class=3DSpellE><b><span =
style=3D'font-weight:bold'>xsd:string</span></b></span>&quot;
<span class=3DSpellE>minOccurs</span>=3D&quot;<b><span =
style=3D'font-weight:bold'>0</span></b>&quot;
/&gt; <o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><span =
style=3D'mso-spacerun:yes'>&nbsp;</span>&lt;<span
class=3DSpellE>xsd<span class=3DGramE>:element</span></span> =
name=3D&quot;<span
class=3DSpellE><b><span =
style=3D'font-weight:bold'>ProductName</span></b></span>&quot;
type=3D&quot;<span class=3DSpellE><b><span =
style=3D'font-weight:bold'>xsd:string</span></b></span>&quot;
<span class=3DSpellE>minOccurs</span>=3D&quot;<b><span =
style=3D'font-weight:bold'>0</span></b>&quot;
/&gt; <o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><span =
style=3D'mso-spacerun:yes'>&nbsp;</span>&lt;<span
class=3DSpellE>xsd<span class=3DGramE>:element</span></span> =
name=3D&quot;<b><span
style=3D'font-weight:bold'>Catalog</span></b>&quot; type=3D&quot;<span
class=3DSpellE><b><span =
style=3D'font-weight:bold'>xsd:string</span></b></span>&quot;
<span class=3DSpellE>minOccurs</span>=3D&quot;<b><span =
style=3D'font-weight:bold'>0</span></b>&quot;
/&gt; <o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>&lt;/<span class=3DSpellE>xsd<span =
class=3DGramE>:all</span></span>&gt;<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Thanks in anticipation, <o:p></o:p></span></font></p>

<p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><font
size=3D1 color=3D"#0000a0" face=3DVerdana><span =
style=3D'font-size:7.5pt;font-family:
Verdana;color:#0000A0;mso-no-proof:yes'>Regards, <br>
</span></font><b><font size=3D2 color=3D"#0000a0" face=3DVerdana><span
style=3D'font-size:10.0pt;font-family:Verdana;color:#0000A0;font-weight:b=
old;
mso-no-proof:yes'>Rohit Arora.<br =
style=3D'mso-special-character:line-break'>
<![if !supportLineBreakNewLine]><br =
style=3D'mso-special-character:line-break'>
<![endif]></span></font></b><font color=3Dnavy><span =
style=3D'color:navy;
mso-no-proof:yes'><o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

</body>

</html>
=00
------_=_NextPart_001_01C3BB32.DC2D12F3--

------=_NextPartTM-000-fb907a95-db4c-49df-a2b1-7c5cdcd0bb0f--