ISD 11.3.1 SOAP based web service questions

Dedicated to DataStage and DataStage TX editions featuring IBM<sup>®</sup> Service-Oriented Architectures.

Moderators: chulett, rschirm

Post Reply
qt_ky
Premium Member
Premium Member
Posts: 2895
Joined: Wed Aug 03, 2011 6:16 am
Location: USA

ISD 11.3.1 SOAP based web service questions

Post by qt_ky »

The DataStage job is using the ISD Input and ISD Output stages.

1. ISD is taking the DataStage job columns have a DATE data type and converting them to XML dateTime data type in the WSDL. Example output includes the date, a 'T', the time, and a dash with time zone appended. All we need and want is the date; the data does not contain any time or time zone values.

The only workaround idea I currently have would be to change the job to use Char or Varchar so that ISD would choose an XML string type that contains the date value.

I had expected ISD would have matched the DATE column up a little better by using an XML date data type instead. Is there a way to make ISD force an XML date type?

2. We have noticed that the column order not preserved between the DataStage job and ISD console where you add it as a provider. ISD mixes the column order up randomly. We did not encounter this behavior in ISD 8.7.

Technically, it may not matter once the consumers are automated, but here is an example from an interface documentation and testing standpoint. We have the interface documented with a particular column order, which the job was developed to (i.e. key columns at the top, many output columns following, and status columns and error code column at the bottom). Now a tester or consumer has tediously to hunt through all the output columns searching for the error code, and finds it buried somewhere in the middle.

Is there any way to have ISD preserve the column order?

3. This one is cosmetic in that ISD takes the upper case column names and converts them all to lower case, which we also encountered in 8.7. If you try to override the ISD operation editor, it says, "Variable names must start with a lower case character." It appears that the ISD software cannot be made to comply with corporate naming standards. Is there any way to get around this limitation within ISD?
Choose a job you love, and you will never have to work a day in your life. - Confucius
eostic
Premium Member
Premium Member
Posts: 3838
Joined: Mon Oct 17, 2005 9:34 am

Post by eostic »

1. Best bet I can think of for number one is to do exactly as you have stated....don't allow ISD to apply any "smarts" to it. Force it to whatever you need, as a character or varchar column, using all the powers of a Transformer.

2. I don't know of any way to impact the order after the Operation is accepted, and haven't tested/compared it to an older release in a long time. Might be a support issue --- not sure.

3. Assuming that changing the signature at the Operation page isn't working, the only other I can think of right now that you might be able to override the lower case issue is by using the Text-over-Http binding, but that seems like a lot of work for something like this. Generally, if "given" a WSDL and service with a detailed specification (deep hierarchy, special header issues, etc.) where ISD is NOT allowed to generate the WSDL, then Text-over-Http is the perfect solution. For something like lower case column names, I would do what I can to sell everyone on using "this" ISD generated wsdl with parameters "as is".

Text-over-Http would be a solution for #2 also, but again, that's taking a lot of work "into your own hands".

Ernie
Ernie Ostic

blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
qt_ky
Premium Member
Premium Member
Posts: 2895
Joined: Wed Aug 03, 2011 6:16 am
Location: USA

Post by qt_ky »

Thank you for all your responses, Ernie. Very helpful. I may run some of these by Support also.

I should mention that my background is with DataStage and not java or xml. I get xml basics but for the most part am simply relying on ISD to kindly handle xml details for me. So, I would lean towards not taking all that into my own hands, for now! :wink:

Regarding question 3, within the xml community, is there a well established naming convention that begins with lowercase? I have noticed a lot of multi-word names in the form of oneTwoThree, whereas our org's traditional convention is in the form of ONE_TWO_THREE. If so, then it would make more sense that ISD is enforcing it.
Choose a job you love, and you will never have to work a day in your life. - Confucius
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

There is definitely (it seems to me) a trend towards identifiers of the form oneTwoThree, in a number of languages including C, C++, Java and Python. Not so much in databases (yet?).
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
eostic
Premium Member
Premium Member
Posts: 3838
Joined: Mon Oct 17, 2005 9:34 am

Post by eostic »

...agreed...and in this case, I suspect it's a java issue and/or something related to the automatic generation of the EAR that is represented by the ISD Application or the plumbing that it uses for generation of WSDL....

Ernie
Ernie Ostic

blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
Post Reply