WS Transformer failure

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

Moderators: chulett, rschirm

Post Reply
Nagin
Charter Member
Charter Member
Posts: 89
Joined: Thu Jan 26, 2006 12:37 pm

WS Transformer failure

Post by Nagin »

I have a job that takes XML input and invokes a web service. The job has been aborting with the below message. I made sure that the XML is ok and was able run it through Soap UI to get reply from the same web service. Just the web service transformer is not liking the input and not giving much information. Any help is appreciated.

Thanks.

WSTransform,0: %%%%%%%%%%%%%%%%% WSTR Initialized %%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%% WSTR Running %%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%% WSTR Run Completed %%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%% WSTR Aborting %%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%% WSTR Aborted %%%%%%%%%%%%%%%%%
eostic
Premium Member
Premium Member
Posts: 3838
Joined: Mon Oct 17, 2005 9:34 am

Post by eostic »

Does it abort always, or just once in awhile?

Did it "ever" work correctly?

What are you using to display the result below?

You say it aborts...where is this message or data? In the log, or in the target file?

Ernie
Ernie Ostic

blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
Nagin
Charter Member
Charter Member
Posts: 89
Joined: Thu Jan 26, 2006 12:37 pm

Post by Nagin »

Ernie,

No, This WS Transofrm has not exactly worked so far.

I am still working on the developing this job. When I was passing fewer columns and tried to capture the reply from WS Transform in a file, it seemed like it was working, except that it was throwing an error message in the XML itself, but atleast it was generating an XML.

Now, after I have corrected my input XML to the WS Transform, I am not getting any reply.

I found the abort message in the Job log.
eostic
Premium Member
Premium Member
Posts: 3838
Joined: Mon Oct 17, 2005 9:34 am

Post by eostic »

One useful debugging trick is to try it in a Server Job and turn on tracing....(at the run dialog, there is a trace option...select your stage and then click all four options on the right)......you will get a whole lot of log data, and at the center will be the xml soap request....and the xml soap response........

see what you get...compare it to what you are getting with SOAP UI.

also...if you aren't doing it already, change your output link to just have one single large varchar column and an "/" in the Description property. Also, go to the message tab and then check "user defined message" and just select your single column in the pull down. Send that to a flat file with NO formatting. Review the response there.

Ernie
Ernie Ostic

blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
Nagin
Charter Member
Charter Member
Posts: 89
Joined: Thu Jan 26, 2006 12:37 pm

Post by Nagin »

eostic wrote:One useful debugging trick is to try it in a Server Job and turn on tracing....(at the run dialog, there is a trace option...select your stage and then click all four options on the right)......you will get a whole lot of log data, and at the center will be the xml soap request....and the xml soap response........

see what you get...compare it to what you are getting with SOAP UI.

also...if you aren't doing it already, change your output link to just have one single large varchar column and an "/" in the Description property. Also, go to the message tab and then check "user defined message" and just select your single column in the pull down. Send that to a flat file with NO formatting. Review the response there.

Ernie
Ernie,
I tried the server job approach, the job is still aborting and the job log does not have any XML soap request or response. It does have the below error message

..Web_Services_Transformer_9: com.ascentialsoftware.wsclient.ServiceInvocationException: Service invocation exception:
at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1602)
at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1544)
at com.ascentialsoftware.wspack.Transformer.process(Transformer.java:104)
at com.ascentialsoftware.jds.StageFactory.runStage(StageFactory.java:544)
at com.ascentialsoftware.jds.StageFactory.runTransformer(StageFactory.java:361)
Caused by: java.lang.NullPointerException
at com.ascentialsoftware.wsclient.xml.DerivationExpression._getToken(DerivationExpression.java:180)
at com.ascentialsoftware.wsclient.xml.DerivationExpression._setLastSegment(DerivationExpression.java:199)
at com.ascentialsoftware.wsclient.xml.DerivationExpression.hasMoreTokens(DerivationExpression.java:130)
at com.ascentialsoftware.wsclient.xml.DerivationParser.expr(DerivationParser.java:170)
at com.ascentialsoftware.wsclient.xml.DerivationParser.parse(DerivationParser.java:138)
at com.ascentialsoftware.wsclient.xml.TreeBuilder.compileRules(TreeBuilder.java:84)
at com.ascentialsoftware.wsclient.MappingHandler.fromArray(MappingHandler.java:304)
at com.ascentialsoftware.wsclient.InputRequest.buildRequestBodyDocument(InputRequest.java:908)
at com.ascentialsoftware.wsclient.WebService.callServiceInternal(WebService.java:1625)
at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1591)
... 4 more

Does it mean, there is some thing wrong with the way webservice is set up? But, I can invoke and get responses from web service from a browser and soap UI without any problems.
eostic
Premium Member
Premium Member
Posts: 3838
Joined: Mon Oct 17, 2005 9:34 am

Post by eostic »

It means that you are never getting "out of the box"....it's stopping before it even gets to the point where it can make the invocation.

If you are building the SOAP header or SOAP body yourself, then review it carefully...I usually cut and paste one directly from a tool like SOAP UI and then put it into a transformer upstream as a big string. Pass that in as input and use the "user defined message" pull down to indicate that column.

And make sure that you can call simple services, like some of the ones I mention at my blog (url below).

Ernie
Ernie Ostic

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