Hi all,
I'm looking for some direction on inputs/loading a SOAP webservice with multiple complex types.
I'm not quite sure how to explain this, so I'll use examples
The Soap service takes this:
Name
Address
Bank Name (unbounded/multiple)
Account Num (unbounded/multiple)
Balance
I'm using a webservice client stage, and can easily load and send a single datepoint for each:
Charles Sim
Ottawa, ON
...Bank of Canada
......123456
.........1550.00
I can send that singular input stream in without issue
However I can't find any kind of documentation on how to send in multiple/unbounded data, for example:
Charles Sim
Ottawa, ON
...Bank of Canada
......123456
.........$1550.00
......988889
.........$575.00
...TD Bank
......23456245
.........$11.00
......6878679
.........$500075.00
Any help, or guidance to documentation on this would be greatly appreciated. Can this even be done, or perhaps it's a limitation on datastage?
Thanks,
Charles Sim
Inputs/loading a SOAP webservice with multiple complex types
Moderators: chulett, rschirm, roy
More difficult. For this you need to build thr entire soap payload yourself... the web services transformer isnt able to build a complex multi node independenly repeating xml payload.
It can be built upstream via multiple xml output stages or via the hierarchical stage. Both require testing and learning. If you have many of these kinds of jobs to build, learn the hierarchical stage. If just this one or a few, learn how to pice together multiple xml output stages. Find the xml best practices document me tioned througjout the forum here. And search other posts that talk anout building and then passing a whole measagr to the web services stage
Ernie
It can be built upstream via multiple xml output stages or via the hierarchical stage. Both require testing and learning. If you have many of these kinds of jobs to build, learn the hierarchical stage. If just this one or a few, learn how to pice together multiple xml output stages. Find the xml best practices document me tioned througjout the forum here. And search other posts that talk anout building and then passing a whole measagr to the web services stage
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>
So a couple more questions around this.
I've written code to create the entire XML body of the SOAP request, so now how do I send it to the WS Client stage, the stage wants individual fields, Name, Addy, Phone, etc, I just want to send it BODY.
Also, is there a way to view the request that is being generated and sent? To help debug any issues? otherwise I'm just putting data into a black box and hoping it comes out correctly.
I've written code to create the entire XML body of the SOAP request, so now how do I send it to the WS Client stage, the stage wants individual fields, Name, Addy, Phone, etc, I just want to send it BODY.
Also, is there a way to view the request that is being generated and sent? To help debug any issues? otherwise I'm just putting data into a black box and hoping it comes out correctly.
Look at the special property in the input link for "user defined" message. Have that point to the single large varchar column that you built upstream with the whole payload.
...and the best thing to do is to first test this by:
1. run your service via SOAPui or other tool.
2. copy a working payload into the clipboard
3. paste it into a simple upstream transformer as a simple string
4. test the user defined message with this hard coded payload until you have it working perfectly
...then you know exactly what you have to build manually.
Ernie
...and the best thing to do is to first test this by:
1. run your service via SOAPui or other tool.
2. copy a working payload into the clipboard
3. paste it into a simple upstream transformer as a simple string
4. test the user defined message with this hard coded payload until you have it working perfectly
...then you know exactly what you have to build manually.
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>
same concept in reverse, assuming that the body is also a complex xml doc.
Put one big column on the output link.....like "mySOAPresponse" longvarchar and put a single "/" (slash) in the Description property. No other cols.
Then use the same "user dfined message" pulldown to select that column.
Send "that" to the xmlInput Stage or hierarchical stage to parse it.
Ernie
Put one big column on the output link.....like "mySOAPresponse" longvarchar and put a single "/" (slash) in the Description property. No other cols.
Then use the same "user dfined message" pulldown to select that column.
Send "that" to the xmlInput Stage or hierarchical stage to parse it.
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>