on 07-26-2011 9:10 PM
Hi All,
I have a transaction that is invoking a webservice. This webservice outputs a xml but SAP MII is not parsing it, I mean, if I put any action block after the Web_Service action block, I cannot see or do any mapping using the xml inside the webservice response.
I have to do some xpath, repeaters and other stuff with the output of this webservice and I'm wondering, for example, how can I do a repeat in the <PIMSData>'s level ?
Any clues? Thank you all in advance.
Here is the ouput xml:
<?xml version="1.0" encoding="UTF-8" ?>
- <getDataFromPIMSResponse xmlns="http://vale.com/webservices/">
- <getDataFromPIMSResult>
+ <xs:schema xmlns="" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:xs="http://www.w3.org/2001/XMLSchema" id="NewDataSet">
- <xs:element msdata:IsDataSet="true" msdata:UseCurrentLocale="true" name="NewDataSet">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded" minOccurs="0">
- <xs:element name="PIMSData">
- <xs:complexType>
- <xs:sequence>
<xs:element minOccurs="0" name="ip_trend_time" type="xs:string" />
<xs:element minOccurs="0" name="ip_trend_value" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
- <diffgr:diffgram xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
- <NewDataSet xmlns="">
- <PIMSData diffgr:id="PIMSData1" msdata:rowOrder="0">
<ip_trend_time>26-JUL-11 16:44:31.6</ip_trend_time>
<ip_trend_value>854</ip_trend_value>
</PIMSData>
- <PIMSData diffgr:id="PIMSData2" msdata:rowOrder="1">
<ip_trend_time>26-JUL-11 16:44:29.7</ip_trend_time>
<ip_trend_value>698</ip_trend_value>
</PIMSData>
- <PIMSData diffgr:id="PIMSData3" msdata:rowOrder="2">
<ip_trend_time>26-JUL-11 16:44:28.0</ip_trend_time>
<ip_trend_value>4783</ip_trend_value>
</PIMSData>
- <PIMSData diffgr:id="PIMSData4" msdata:rowOrder="3">
<ip_trend_time>26-JUL-11 16:44:26.2</ip_trend_time>
<ip_trend_value>4489</ip_trend_value>
</PIMSData>
- <PIMSData diffgr:id="PIMSData5" msdata:rowOrder="4">
<ip_trend_time>26-JUL-11 16:44:24.1</ip_trend_time>
<ip_trend_value>45</ip_trend_value>
</PIMSData>
- <PIMSData diffgr:id="PIMSData6" msdata:rowOrder="5">
<ip_trend_time>26-JUL-11 16:44:22.5</ip_trend_time>
<ip_trend_value>498</ip_trend_value>
</PIMSData>
- <PIMSData diffgr:id="PIMSData7" msdata:rowOrder="6">
<ip_trend_time>26-JUL-11 16:44:21.5</ip_trend_time>
<ip_trend_value>526</ip_trend_value>
</PIMSData>
- <PIMSData diffgr:id="PIMSData8" msdata:rowOrder="7">
<ip_trend_time>26-JUL-11 16:44:20.3</ip_trend_time>
<ip_trend_value>649</ip_trend_value>
</PIMSData>
- <PIMSData diffgr:id="PIMSData9" msdata:rowOrder="8">
<ip_trend_time>26-JUL-11 16:44:19.0</ip_trend_time>
<ip_trend_value>779</ip_trend_value>
</PIMSData>
- <PIMSData diffgr:id="PIMSData10" msdata:rowOrder="9">
<ip_trend_time>26-JUL-11 16:44:17.6</ip_trend_time>
<ip_trend_value>988</ip_trend_value>
</PIMSData>
- <PIMSData diffgr:id="PIMSData11" msdata:rowOrder="10">
<ip_trend_time>26-JUL-11 16:43:54.6</ip_trend_time>
<ip_trend_value>51</ip_trend_value>
</PIMSData>
- <PIMSData diffgr:id="PIMSData12" msdata:rowOrder="11">
<ip_trend_time>26-JUL-11 16:43:49.6</ip_trend_time>
<ip_trend_value>644</ip_trend_value>
</PIMSData>
- <PIMSData diffgr:id="PIMSData13" msdata:rowOrder="12">
<ip_trend_time>26-JUL-11 16:43:48.3</ip_trend_time>
<ip_trend_value>69</ip_trend_value>
</PIMSData>
- <PIMSData diffgr:id="PIMSData14" msdata:rowOrder="13">
<ip_trend_time>26-JUL-11 16:43:47.4</ip_trend_time>
<ip_trend_value>412</ip_trend_value>
</PIMSData>
- <PIMSData diffgr:id="PIMSData15" msdata:rowOrder="14">
<ip_trend_time>26-JUL-11 16:43:46.1</ip_trend_time>
<ip_trend_value>5666</ip_trend_value>
</PIMSData>
- <PIMSData diffgr:id="PIMSData16" msdata:rowOrder="15">
<ip_trend_time>26-JUL-11 16:43:44.5</ip_trend_time>
<ip_trend_value>46</ip_trend_value>
</PIMSData>
</NewDataSet>
</diffgr:diffgram>
</getDataFromPIMSResult>
</getDataFromPIMSResponse>
Hi Manoel,
I copied your XML result into a local property so that I could test it. You should be able to repeat on the <PIMSData> level by configuring the Repeater's xpath expression to something like this (but instead of Local property prefix, it would be the output of the Web Service action):
Local.xmlResult{/ns1:getDataFromPIMSResponse/ns1:getDataFromPIMSResult/diffgr:diffgram/NewDataSet/PIMSData}
I added a Tracer action after the Repeater and was able able to output, for example,
Repeater_0.Output{/PIMSData/ip_trend_value}
Are you saying you cannot see the XML structure from the Web Service output in order to repeat on it?
Kind Regards,
Diana Hoppe
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
11 | |
6 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.