Webservice Transformer XML output
Moderators: chulett, rschirm, roy
Webservice Transformer XML output
Hi,
Currently facing a problem with Webservice Transformer Stage, It is suppose to take an ID as input, call the Webservice, and get the response back in an XML format, However the output XML seems to be weird when checked by a peek stage. This, in turn is not parsed by the XML input stage and gives no output from it. Pls help
The peek stage o/p is as under:
Peek_12,0: calculateAttributesReturn:<?xml version="1.0" encoding="UTF-8"?>
<ns1:calculateAttributesResponse xmlns:ns1="http://analytics.ic.com" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encodin ... utesReturn xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string"><?xml version="1.0" encoding="UTF-8"?>
<attributes><attribute><name>Number of Bs</name><value>10</value><id>1</id></attribute><attribute><name>Number of Ts</name><value>25</value><id>1</id></attribute></attributes></calculateAttributesReturn></ns1:calculateAttributesResponse>
Thanks,
- efxuser
Currently facing a problem with Webservice Transformer Stage, It is suppose to take an ID as input, call the Webservice, and get the response back in an XML format, However the output XML seems to be weird when checked by a peek stage. This, in turn is not parsed by the XML input stage and gives no output from it. Pls help
The peek stage o/p is as under:
Peek_12,0: calculateAttributesReturn:<?xml version="1.0" encoding="UTF-8"?>
<ns1:calculateAttributesResponse xmlns:ns1="http://analytics.ic.com" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encodin ... utesReturn xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string"><?xml version="1.0" encoding="UTF-8"?>
<attributes><attribute><name>Number of Bs</name><value>10</value><id>1</id></attribute><attribute><name>Number of Ts</name><value>25</value><id>1</id></attribute></attributes></calculateAttributesReturn></ns1:calculateAttributesResponse>
Thanks,
- efxuser
Hi all...
It looks like this is a service sending xml inside of xml...meaning, that the web service is designed to send back a big string --- and that "string" just happens to have XML in it. On the wire, that means that it will be XML inside of XML, and thus the xml content is automatically "escaped" (that's what all the > and < stuff is). The question is, why isn't it getting "un-escaped" by the SOAP engine on the receiving side.......
Just for kicks, what happens if you delete everything on the output link of the WSTransformer and replace it with a single column: myOutput, with longvarchar and length of say...99999, and nothing but a single '/' in the Description?
And second, what do you see with this service using an external testing tool, such as SOAPscope?
Ernie
It looks like this is a service sending xml inside of xml...meaning, that the web service is designed to send back a big string --- and that "string" just happens to have XML in it. On the wire, that means that it will be XML inside of XML, and thus the xml content is automatically "escaped" (that's what all the > and < stuff is). The question is, why isn't it getting "un-escaped" by the SOAP engine on the receiving side.......
Just for kicks, what happens if you delete everything on the output link of the WSTransformer and replace it with a single column: myOutput, with longvarchar and length of say...99999, and nothing but a single '/' in the Description?
And second, what do you see with this service using an external testing tool, such as SOAPscope?
Ernie
Ernie Ostic
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
Hi,
Thanks for giving a shot at this.
I tried with My output column option and the Job returned the same o/p, which is as under:
Peek_12,0: My_op:<ns1:calculateAttributesResponse xmlns:ns1="http://analytics.ic.com" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encodin ... utesReturn xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string"><?xml version="1.0" encoding="UTF-8"?>
<attributes><attribute><name>Number of Bs</name><value>10</value><id>1</id></attribute><attribute><name>Number of Ts</name><value>25</value><id>1</id></attribute></attributes></calculateAttributesReturn></ns1:calculateAttributesResponse>
Also I tried with the option of adding "ns1:" in front of the "calculateAttributesReturn" with the same result. Is it the xml structure in webservice output not adhering to the standards that DataStage is looking for?
The systemout log of webservice gives the foll:
[10/13/08 13:52:04:189 EDT] 00000062 SystemOut O transactionId: 000010000006880000.
[10/13/08 13:52:04:189 EDT] 00000062 SystemOut O productName: WirelessPlan
[10/13/08 13:52:04:190 EDT] 00000062 SystemOut O --------------returning xml begin----------------
[10/13/08 13:52:04:190 EDT] 00000062 SystemOut O <?xml version="1.0" encoding="UTF-8"?>
<attributes><attribute><name>Number of Bs</name><value>10</value><id>1</id></attribute><attribute><name>Number of Ts</name><value>25</value><id>1</id></attribute></attributes>
[10/13/08 13:52:04:190 EDT] 00000062 SystemOut O --------------returning xml end---
Let me know if any of you experts find some hint as to where I troubleshoot more.
~efxuser
Thanks for giving a shot at this.
I tried with My output column option and the Job returned the same o/p, which is as under:
Peek_12,0: My_op:<ns1:calculateAttributesResponse xmlns:ns1="http://analytics.ic.com" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encodin ... utesReturn xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string"><?xml version="1.0" encoding="UTF-8"?>
<attributes><attribute><name>Number of Bs</name><value>10</value><id>1</id></attribute><attribute><name>Number of Ts</name><value>25</value><id>1</id></attribute></attributes></calculateAttributesReturn></ns1:calculateAttributesResponse>
Also I tried with the option of adding "ns1:" in front of the "calculateAttributesReturn" with the same result. Is it the xml structure in webservice output not adhering to the standards that DataStage is looking for?
The systemout log of webservice gives the foll:
[10/13/08 13:52:04:189 EDT] 00000062 SystemOut O transactionId: 000010000006880000.
[10/13/08 13:52:04:189 EDT] 00000062 SystemOut O productName: WirelessPlan
[10/13/08 13:52:04:190 EDT] 00000062 SystemOut O --------------returning xml begin----------------
[10/13/08 13:52:04:190 EDT] 00000062 SystemOut O <?xml version="1.0" encoding="UTF-8"?>
<attributes><attribute><name>Number of Bs</name><value>10</value><id>1</id></attribute><attribute><name>Number of Ts</name><value>25</value><id>1</id></attribute></attributes>
[10/13/08 13:52:04:190 EDT] 00000062 SystemOut O --------------returning xml end---
Let me know if any of you experts find some hint as to where I troubleshoot more.
~efxuser
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact: