Page 1 of 1

Web service output columns

Posted: Tue Feb 05, 2013 5:48 pm
by naf821_007
I am trying to determine why when calling a web service through SOAP UI returns only 37 data fields but after importing the same web service into DataStage and running it for the same parameters I get 103 data fields. Is there something different about how DataStage consumes a WSDL versus SOAP UI?

Posted: Wed Feb 06, 2013 9:04 am
by eostic
hard to say....especially since you have introduced "running" into the discussion.

Without ever running the web service, import the wsdl. Look at the output link in DataStage after you have "loaded" the Message.....and look at the output definition that results from SOAPui.

One possible explanation is that the output is mixed....with an xml definition that has various sub-nodes. It's hard to say though, because DataStage isn't going to be able to decipher them anyway....I would normally have expected an error, as opposed to "more" output parameters in DS.

Are you certain that you used the exact same WSDL url?

If the output SOAP body of this web service truly contains a multi-node hierarchy, with lots of independent paths (as opposed to a single row of columnar output), then you are going to need to pass it to an xml stage anyway. Do that by having one single column on your output link of the web service stage, give it a longvarchar datatype and long length, and select "user defined message" (or similar text in the pull down for this column) at the message tab. To be safe, put a '/' in the Description for this column. Send it to one of the xml stages for further parsing.

Ernie