We are required to consume a REST web service. After talking to SAP support this is what they say.
"For example, in your WADL, the expected parent element of the results is ‘Extract’. However, the web-service is returning ‘ns7:Extract’.
The WADL has grammar tag that’s referencing the primary XSD with multiple targetNamespace.
In the above elements example with the first XSD its referenced as
<xsd:schema targetNamespace=“http://root/1.0” xmlns:c=“http://root/1.0”
xmlns:n=“http://testing/proxy/xsd/2.0” xmlns:s=“http://testing/structures/2.0” xmlns:n=“http://testing/n/2.0”
Without making any changes to XSD’s or WADL when i am importing the WADL in datastore its parsing successfully and can see the same root element returned as ‘Extract’.
When accessing the same END point through a browser the XML file starts with
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ns7:Extract xmlns:ns1="http://testing/structures/2.0" xmlns:ns2="http://testing/form/2.0" xmlns:ns3="http://testing/domains/4.1" xmlns:ns4="http://root/a/1.0" xmlns:ns5="http://root/b/1.0" xmlns:ns6="http://root/d/1.0" xmlns:ns7="http://root/1.0"><ns7:Case [/b]
When running the ETL job its failing with following error:
I am guessing that at the point when the REST Web Service is invoked the Response from Web Service is returning the XML file as
while the layout in Query transform the same root Element is defined as Extract and hence the XML Parser failed error.
Can anyone recommend what might be the issue here? Did anyone encounter these namespace issues? In short the targetnamespace in XSD is different to the XML output response from Web service.
Farha (BOB member since 2014-03-05)