You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-dev@xml.apache.org by "Yalavarthi, Vasu" <vy...@informatica.com> on 2002/04/09 08:43:13 UTC
How to get value(s) from Response XML
Hi,
My Apache Java-Soap client os sending XML request to Microsoft Analysis
Server which supports XML for Analysis.
The Response object's getReturnValue(), return's Parameter, from which i can
get the value.
This will be useful if the method returns a single value (like account
balance etc).
But my respose is an XML (provided below) as provided below (especially the
"<row>" node and its children).
How do i retrieve those values from the Response object or some other Soap
API?
Thanks,
Vasu
///////////////////RESPONSE XML taken from Axis TCPMonitor utlity
///////////////////////////
<?xml version="1.0" ?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<m:DiscoverResponse xmlns:m="urn:schemas-microsoft-com:xml-analysis">
<return
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="xsd:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<root xmlns="urn:schemas-microsoft-com:xml-analysis:rowset"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:schema xmlns="urn:schemas-microsoft-com:xml-analysis:rowset"
targetNamespace="urn:schemas-microsoft-com:xml-analysis:rowset"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:xml-sql"
elementFormDefault="qualified">
<xsd:element name="root">
<xsd:complexType>
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:element name="row" type="row" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="row">
<xsd:choice maxOccurs="unbounded" minOccurs="0">
<xsd:element name="DataSourceName" type="xsd:string"
sql:field="DataSourceName" />
<xsd:element name="DataSourceDescription" type="xsd:string"
sql:field="DataSourceDescription" />
<xsd:element name="URL" type="xsd:string" sql:field="URL" />
<xsd:element name="DataSourceInfo" type="xsd:string"
sql:field="DataSourceInfo" />
<xsd:element name="ProviderName" type="xsd:string"
sql:field="ProviderName" />
<xsd:element name="ProviderType" sql:field="ProviderType">
<xsd:complexType>
<xsd:sequence maxOccurs="unbounded" minOccurs="0">
<xsd:any processContents="lax" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="AuthenticationMode" sql:type="xsd:string"
sql:field="AuthenticationMode" />
</xsd:choice>
</xsd:complexType>
</xsd:schema>
<row>
<DataSourceName>s152969</DataSourceName>
<DataSourceDescription>Microsoft Analysis Server 2000 on local
machine</DataSourceDescription>
<URL>http://localhost/xmla/msxisapi.dll</URL>
<DataSourceInfo>Provider=MSOLAP;Data Source=s152969</DataSourceInfo>
<ProviderName>Microsoft XML for Analysis</ProviderName>
<ProviderType>
<TDP />
<MDP />
<DMP />
</ProviderType>
<AuthenticationMode>Unauthenticated</AuthenticationMode>
</row>
</root>
</return>
</m:DiscoverResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
/////////////////////////////////////END Response XML
////////////////////////////
Re: How to get value(s) from Response XML
Posted by Scott Nichol <sc...@yahoo.com>.
Normally, with Apache SOAP you would write a Java class into which the rowset,
defined as a sequence of rows, can be de-serialized. The case below would be a
bit trickier, since the return parameter XML includes the schema, so I doubt
Apache SOAP would successfully parse it, but perhaps Axis could.
Scott
----- Original Message -----
From: "Yalavarthi, Vasu" <vy...@informatica.com>
To: <so...@xml.apache.org>
Sent: Tuesday, April 09, 2002 2:43 AM
Subject: How to get value(s) from Response XML
> Hi,
> My Apache Java-Soap client os sending XML request to Microsoft Analysis
> Server which supports XML for Analysis.
> The Response object's getReturnValue(), return's Parameter, from which i can
>
> get the value.
> This will be useful if the method returns a single value (like account
> balance etc).
>
> But my respose is an XML (provided below) as provided below (especially the
> "<row>" node and its children).
> How do i retrieve those values from the Response object or some other Soap
> API?
>
>
>
> Thanks,
> Vasu
>
>
>
> ///////////////////RESPONSE XML taken from Axis TCPMonitor utlity
> ///////////////////////////
> <?xml version="1.0" ?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
> <SOAP-ENV:Body>
> <m:DiscoverResponse xmlns:m="urn:schemas-microsoft-com:xml-analysis">
> <return
> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> xsi:type="xsd:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <root xmlns="urn:schemas-microsoft-com:xml-analysis:rowset"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <xsd:schema xmlns="urn:schemas-microsoft-com:xml-analysis:rowset"
> targetNamespace="urn:schemas-microsoft-com:xml-analysis:rowset"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:sql="urn:schemas-microsoft-com:xml-sql"
> elementFormDefault="qualified">
> <xsd:element name="root">
> <xsd:complexType>
> <xsd:sequence minOccurs="0" maxOccurs="unbounded">
> <xsd:element name="row" type="row" />
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> <xsd:complexType name="row">
> <xsd:choice maxOccurs="unbounded" minOccurs="0">
> <xsd:element name="DataSourceName" type="xsd:string"
> sql:field="DataSourceName" />
> <xsd:element name="DataSourceDescription" type="xsd:string"
> sql:field="DataSourceDescription" />
> <xsd:element name="URL" type="xsd:string" sql:field="URL" />
> <xsd:element name="DataSourceInfo" type="xsd:string"
> sql:field="DataSourceInfo" />
> <xsd:element name="ProviderName" type="xsd:string"
> sql:field="ProviderName" />
> <xsd:element name="ProviderType" sql:field="ProviderType">
> <xsd:complexType>
> <xsd:sequence maxOccurs="unbounded" minOccurs="0">
> <xsd:any processContents="lax" maxOccurs="unbounded" />
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> <xsd:element name="AuthenticationMode" sql:type="xsd:string"
> sql:field="AuthenticationMode" />
> </xsd:choice>
> </xsd:complexType>
> </xsd:schema>
> <row>
> <DataSourceName>s152969</DataSourceName>
> <DataSourceDescription>Microsoft Analysis Server 2000 on local
> machine</DataSourceDescription>
> <URL>http://localhost/xmla/msxisapi.dll</URL>
> <DataSourceInfo>Provider=MSOLAP;Data Source=s152969</DataSourceInfo>
> <ProviderName>Microsoft XML for Analysis</ProviderName>
> <ProviderType>
> <TDP />
> <MDP />
> <DMP />
> </ProviderType>
> <AuthenticationMode>Unauthenticated</AuthenticationMode>
> </row>
> </root>
> </return>
> </m:DiscoverResponse>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> /////////////////////////////////////END Response XML
> ////////////////////////////
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
Re: How to get value(s) from Response XML
Posted by Scott Nichol <sc...@yahoo.com>.
Normally, with Apache SOAP you would write a Java class into which the rowset,
defined as a sequence of rows, can be de-serialized. The case below would be a
bit trickier, since the return parameter XML includes the schema, so I doubt
Apache SOAP would successfully parse it, but perhaps Axis could.
Scott
----- Original Message -----
From: "Yalavarthi, Vasu" <vy...@informatica.com>
To: <so...@xml.apache.org>
Sent: Tuesday, April 09, 2002 2:43 AM
Subject: How to get value(s) from Response XML
> Hi,
> My Apache Java-Soap client os sending XML request to Microsoft Analysis
> Server which supports XML for Analysis.
> The Response object's getReturnValue(), return's Parameter, from which i can
>
> get the value.
> This will be useful if the method returns a single value (like account
> balance etc).
>
> But my respose is an XML (provided below) as provided below (especially the
> "<row>" node and its children).
> How do i retrieve those values from the Response object or some other Soap
> API?
>
>
>
> Thanks,
> Vasu
>
>
>
> ///////////////////RESPONSE XML taken from Axis TCPMonitor utlity
> ///////////////////////////
> <?xml version="1.0" ?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
> <SOAP-ENV:Body>
> <m:DiscoverResponse xmlns:m="urn:schemas-microsoft-com:xml-analysis">
> <return
> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> xsi:type="xsd:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <root xmlns="urn:schemas-microsoft-com:xml-analysis:rowset"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <xsd:schema xmlns="urn:schemas-microsoft-com:xml-analysis:rowset"
> targetNamespace="urn:schemas-microsoft-com:xml-analysis:rowset"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:sql="urn:schemas-microsoft-com:xml-sql"
> elementFormDefault="qualified">
> <xsd:element name="root">
> <xsd:complexType>
> <xsd:sequence minOccurs="0" maxOccurs="unbounded">
> <xsd:element name="row" type="row" />
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> <xsd:complexType name="row">
> <xsd:choice maxOccurs="unbounded" minOccurs="0">
> <xsd:element name="DataSourceName" type="xsd:string"
> sql:field="DataSourceName" />
> <xsd:element name="DataSourceDescription" type="xsd:string"
> sql:field="DataSourceDescription" />
> <xsd:element name="URL" type="xsd:string" sql:field="URL" />
> <xsd:element name="DataSourceInfo" type="xsd:string"
> sql:field="DataSourceInfo" />
> <xsd:element name="ProviderName" type="xsd:string"
> sql:field="ProviderName" />
> <xsd:element name="ProviderType" sql:field="ProviderType">
> <xsd:complexType>
> <xsd:sequence maxOccurs="unbounded" minOccurs="0">
> <xsd:any processContents="lax" maxOccurs="unbounded" />
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> <xsd:element name="AuthenticationMode" sql:type="xsd:string"
> sql:field="AuthenticationMode" />
> </xsd:choice>
> </xsd:complexType>
> </xsd:schema>
> <row>
> <DataSourceName>s152969</DataSourceName>
> <DataSourceDescription>Microsoft Analysis Server 2000 on local
> machine</DataSourceDescription>
> <URL>http://localhost/xmla/msxisapi.dll</URL>
> <DataSourceInfo>Provider=MSOLAP;Data Source=s152969</DataSourceInfo>
> <ProviderName>Microsoft XML for Analysis</ProviderName>
> <ProviderType>
> <TDP />
> <MDP />
> <DMP />
> </ProviderType>
> <AuthenticationMode>Unauthenticated</AuthenticationMode>
> </row>
> </root>
> </return>
> </m:DiscoverResponse>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> /////////////////////////////////////END Response XML
> ////////////////////////////
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com