Web Service Invocation from SOAPUI

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

Moderators: chulett, rschirm

Post Reply
Raghavendra
Participant
Posts: 147
Joined: Sat Apr 30, 2005 1:23 am
Location: Bangalore,India

Web Service Invocation from SOAPUI

Post by Raghavendra »

We have a created a Name Search Job in QualityStage and exposed it as a web service. Our idea here is that this should be consumed by multiple applications.

We have defined a CMM standard xml response and request for this web service. We have imported these xmls and created the Job. The Job is working fine within DataStage but not successful when we expose it as web service.

Here is the issue:
We have generated a WSDL using CMM standard XML Request and Responses. But when we exposed the DataStage Job as a web service using ISD, it has generated WSDL with request and response. But the request and response are not in CMM standard. It has picked the request and response from the WISD Input and output stages and generated the WSDL. The request and response in the generated WSDL are flattened (not in CMM standard). That is, the xml sent by external applications is having hierarchy, where as the WSDL generated by DataStage (ISD) has no hierarchy.

Please provide your inputs on solving this issue.

Thanks in Advance.
Raghavendra
Dare to dream and care to achieve ...
eostic
Premium Member
Premium Member
Posts: 3838
Joined: Mon Oct 17, 2005 9:34 am

Post by eostic »

Information Services Director "dictates" the WSDL that will be used --- the input and output message definitions in the WSDL are driven by the links that are part of the ISDinput and ISDoutput Stage...

The easiest way to handle this is by having a single large varchar column on your link coming from ISDinput and on the link going to ISDoutput.....build your test job by reading your "xml payload" as this single column and processing it with xmlInput near the source and with xmlOutput near the target....

Then your client will simply put the whole xml into a single large string.

It means that they won't be using your WSDL, and will instead have to use normal xml processing after receiving the xml payload independently. ISD is not able to "absorb" external WSDL.

....8.5 provides an alternative to this called the Text over HTTP binding.....not sure what release you are on and whether that would apply or not....let me know what point release of 8.x you are on, and if it is 8.5, I'll describe how that works.

Ernie
Ernie Ostic

blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
Raghavendra
Participant
Posts: 147
Joined: Sat Apr 30, 2005 1:23 am
Location: Bangalore,India

Post by Raghavendra »

eostic,

Than you for your inputs. My userid got locked so couldn't reply to your message. I created a new userid for premium membership.

We have asked the consumers to flatten the xml structure and gave the same WSDL and it is working fine.

Thanks
Raghavendra
Raghavendra
Dare to dream and care to achieve ...
badger
Premium Member
Premium Member
Posts: 5
Joined: Mon Feb 13, 2012 1:41 pm
Location: Dallas

WSDL File?

Post by badger »

eostic wrote:The easiest way to handle this is by having a single large varchar column on your link coming from ISDinput and on the link going to ISDoutput
Question....

Right now we are using SOAP to HTTP binding and our ISDinput stage has a single VarChar column that expects XML in a string. The ISDoutput also has a single column that gets populated with XML.

Using a Text to HTTP binding, it looks like we need to provide a WSDL file. What other adjustments are needed (like what need to change in the ISDInput and ISDoutput stages in the DS job) to have our webservice job process SOAP messages as defined in the WSDL file?

Note that we are using 8.7

Thanks!
--Ivan
AT&T Mobility
eostic
Premium Member
Premium Member
Posts: 3838
Joined: Mon Oct 17, 2005 9:34 am

Post by eostic »

...you might be experiencing something different than was outlined in this thread....

If you are creating an ISD Job and you are fully comfortable with the WSDL that IT produces, then you're fine. XML is a perfectly valid string payload to send up to it from whatever tool or application you are using that is importing the ISD generated WSDL.

The idea of using the Text over HTTP binding is only when you have been forced to use WSDL that was created "outside" of Information Server.

Best to just go with the WSDL that it builds for you.

Ernie
Ernie Ostic

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