cancel
Showing results for 
Search instead for 
Did you mean: 

Not able to use repeater on a CAF Webservice return XML in BLS. Please help

0 Kudos

Hi,

I am using CAF for data persistency and then using CAF Web Service from BLS

Using a tracer I am getting the return XML of that webservice but repeater is not working while parsing that XML.

I think there is a difference between metadata namespace and runtime.

Metadata :

repeater xpath is:

Web_Service_0.getPhase_RResponse{/ns1:getPhase_RResponse/ns1:Response/ns2:PhaseBO_R}

Run Time Data :

return webservice XML structure is :

- <rpl:getPhase_RResponse xmlns:rpl="urn:HnzPhaseAS1WSVi">

- <rpl:Response xmlns:pns="urn:com.ibm.hnzpoc.besrv.phasebo">

- <pns:PhaseBO_R>

Is there any way for MII to overlook the namespace or consider both as same?

Accepted Solutions (0)

Answers (1)

Answers (1)

agentry_src
Active Contributor
0 Kudos

Sudipta,

If you try to use a tracer to view the XML output of a repeater, it will show nothing. This issue has been around since at least version 11.5. It will be fixed in version 12.1 (coming soon). You can use a tracer to view individual fields in that XML output.

But I am not sure if that is the problem you are describing.

Can you also give some idea of what version of MII you are using?

Regards,

Mike

0 Kudos

I am using MII 12.0.

The issue is that I can't parse data using repeater on that XML May be for that runtime and meta data difference.

Former Member
0 Kudos

As you said, first make sure XML is in XMII acceptable XML format

Rowsets

Rowset

Columns

Rows

The Columns node also contains metadata that describes columns name, Data Source, Description and Data type. So if there is any ambiguity in XML format try to do following:

1) Try to use SAP xMII XML Output:Document action block and use the following XML Output actions:Rowset, Column, Row, Data Item.

2) XSLT can be used to transform XML in desired format

I hope after these steps you would be able to use repeater.

-Ram Upadhyay

Former Member
0 Kudos

Sudipta, you do not need to convert the XML into MII format (Rowsets/Rowset/Row) to use the Repeater. I suspect there is some type of mismatch between the WSDL generated for the web service and the XML that is actually being returned. Can you post a copy of the WSDL and the complete XML message being returned?

Rick

Former Member
0 Kudos

Hi Sudipta,

In one of our project there was similar requirement where namespace were different.

We removed the namespaces before doing any operations on the response XML.

We used XSL to remove the name space from the XML.

Do a quick google search on how to remove the name space using XSL and before running your Repeater, Remove the namespace.

Also make sure that the meta data at repeater is also without namespace.

Hope this helps.

Kind regards

Rupesh

0 Kudos

Edited by: Sudipta Mukherjee on Apr 23, 2009 11:07 AM

Edited by: Sudipta Mukherjee on Apr 23, 2009 2:03 PM

0 Kudos

Hi Rick

As the xml are not visible in my reply because of pasting issue I have mailed you the files.

0 Kudos

Hi Rupesh

I will try the same and let you know. Thanks for the reply.

Edited by: Sudipta Mukherjee on Apr 23, 2009 12:39 PM

0 Kudos

Hi All

the reapeter is working.

I have changed the reapeter XPath according to XML structure.

Previously XPath was (As selected from the config)

Web_Service_0.getPhase_RResponse{/ns1:getPhase_RResponse/ns1:Response/ns2:PhaseBO_R}

I have change the XPath according to the XML(Response of web service) structure

Web_Service_0.getPhase_RResponse{/rpl:getPhase_RResponse/rpl:Response/pns:PhaseBO_R}

Now it is working.

Thank you all for your reply

Edited by: Sudipta Mukherjee on Apr 23, 2009 2:04 PM