Web Service Call

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
srai
Participant
Posts: 101
Joined: Wed Feb 09, 2005 10:50 pm

Web Service Call

Post by srai »

Hi All,

I am working on Web Service Pack in DS8.0. I need to update a web portal using WSDL web service.

Ideally, we would like to bundle all of the input Data updates in one web service call instead of making one by one and update the same in one bundle in one call.

Is there any option to set this.? Please let me know ASAP.

Thanks in advance.
eostic
Premium Member
Premium Member
Posts: 3838
Joined: Mon Oct 17, 2005 9:34 am

Post by eostic »

It sounds like you need a service that supports Array input. "if" they do, then you could build an array in a prior xmlOutput Stage and send this array into the WSTransformer.

Can I assume that you have it working perfectly with single row?

Ernie
Ernie Ostic

blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
srai
Participant
Posts: 101
Joined: Wed Feb 09, 2005 10:50 pm

Post by srai »

My web services is not yet ready but that is the requirement which I have got and need to implement in datastage. Hopefully by using XML output stage we could make a single call to web service.


Thanks a lot for solution.

eostic wrote:It sounds like you need a service that supports Array input. "if" they do, then you could build an array in a prior xmlOutput Stage and send this array into the WSTransformer.

Can I assume that you have it working perfectly with single row?

Ernie
eostic
Premium Member
Premium Member
Posts: 3838
Joined: Mon Oct 17, 2005 9:34 am

Post by eostic »

Yes. As some guidance, here's what I suggest that you do:

a) get familiar with WSTransformer using simple, one row service..one row in, one row out.... with a service that just takes in a single row of relational columns and ouputs a single row of relational columns.

b) Have your web service coded as such, but with array capability on input (and potentially on output).

c) test it first with the single row scenario just to be sure it works.

d) Now build a job that has:

...upstream stages...XMLOutput...Transformer.....WSTransformer.....Transformer...XMLInput.....other downstream stages

e) The extra transformers are there for "safety" reasons. It's too easy to confuse things between stages that both use Link Description metadata for their functionality.

f) bring your Web Service into the WSTransformer "main" page as you did before, but don't load up the links/Messages. Instead, load the _IN table definition (one of the resulting table defs from importing the WSDL) into the input link of your XMLOutput Stage and load the _OUT table definition into the output link of your XMLInput Stage. Pass a single column from XMLOutput thru the first Trx into WSTransformer, and then pass a single column from WSTransformer thru the second Trx and into the XMLInput (there's a built-in tabledef for Soap BOdy that you can "Load") if you want.

It takes some practice to get it right, but you should be ok, assuming that the Service otherwise works perfect in single row fashion.

Ernie
Ernie Ostic

blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
srai
Participant
Posts: 101
Joined: Wed Feb 09, 2005 10:50 pm

Post by srai »

eostic wrote:Yes. As some guidance, here's what I suggest that you do:

a) get familiar with WSTransformer using simple, one row service..one row in, one row out.... with a service that just takes in a single row of relational columns and ouputs a single row of relational columns.

b) Have your web service coded as such, but with array capability on input (and potentially on output).

c) test it first with the single row scenario just to be sure it works.

d) Now build a job that has:

...upstream stages...XMLOutput...Transformer.....WSTransformer.....Transformer...XMLInput.....other downstream stages

e) The extra transformers are there for "safety" reasons. It's too easy to confuse things between stages that both use Link Description metadata for their functionality.

f) bring your Web Service into the WSTransformer "main" page as you did before, but don't load up the links/Messages. Instead, load the _IN table definition (one of the resulting table defs from importing the WSDL) into the input link of your XMLOutput Stage and load the _OUT table definition into the output link of your XMLInput Stage. Pass a single column from XMLOutput thru the first Trx into WSTransformer, and then pass a single column from WSTransformer thru the second Trx and into the XMLInput (there's a built-in tabledef for Soap BOdy that you can "Load") if you want.

It takes some practice to get it right, but you should be ok, assuming that the Service otherwise works perfect in single row fashion.

Ernie

Thanks a lot for update on this. I would try to implement the process which you have suggested.
Sorry for late acknowledgement.
Post Reply