Page 1 of 1

Web Service Invocation from SOAPUI

Posted: Thu Apr 28, 2011 8:41 am
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.

Posted: Thu Apr 28, 2011 11:29 am
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

Posted: Wed May 25, 2011 12:25 am
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

WSDL File?

Posted: Thu Sep 27, 2012 12:58 pm
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!

Posted: Thu Sep 27, 2012 1:08 pm
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