Web Service Client Fails: Service invocation exception

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
darrreever
Participant
Posts: 19
Joined: Tue Feb 23, 2010 11:15 am
Location: Los Angeles

Web Service Client Fails: Service invocation exception

Post by darrreever »

Hello DataStagers:

AIX 6.2, IIS 8.7. I have a simple Web Service Client to Peek calling the Weather Web Service (http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL) I enter the appropriate information, zip, and get the following error:

wscWeather,0: Info: Weather_WebService_Call.wscWeather: 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:105)
at com.ascentialsoftware.jds.StageFactory.runStage(StageFactory.java:544)
at com.ascentialsoftware.jds.StageFactory.runSource(StageFactory.java:335)
Caused by: java.lang.NullPointerException
at com.ascentialsoftware.wsclient.xml.DerivationParser.match(DerivationParser.java:622)
at com.ascentialsoftware.wsclient.xml.DerivationParser.element(DerivationParser.java:367)
at com.ascentialsoftware.wsclient.xml.DerivationParser.segment(DerivationParser.java:271)
at com.ascentialsoftware.wsclient.xml.DerivationParser.segment(DerivationParser.java:293)
at com.ascentialsoftware.wsclient.xml.DerivationParser.segment(DerivationParser.java:208)
at com.ascentialsoftware.wsclient.xml.DerivationParser.expr(DerivationParser.java:171)
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

Notice the Caused by: java.lang.NullPointerException. This error is not a HTTPS or XML type error as typically reported. My XML and Java stages work fine.

I have set the DSHOME explicitly in the Admin and also added and removed the JRE and JVM variables that were previously reported for the java fixes as a potential fix but the error persists.

I saw someone had a similiar Service Invocation issue about one year ago (can't find the post again) but no responses.

This error occurs for both server and parallel jobs. In addition, I get the error when I try to call a DataStage job deployed as a web service. Also, I was successful calling both from a Windows installation, so there is something about a Unix install that is being missed.

Any help would be appreciated.

God Bless
Darryl
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

A java.lang.NullPointerException usually indicates some required information not getting through. Can you invoke this particular service using some other tool such as SOAPui (which is downloadable for free)?

Have you successfully imported the WSDL for this web service?
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
lstsaur
Participant
Posts: 1139
Joined: Thu Oct 21, 2004 9:59 pm

Post by lstsaur »

So the first thing to check is that in your Unix environment did all the FPs applied? Second thing to check is the security issue from the Unix box.
darrreever
Participant
Posts: 19
Joined: Tue Feb 23, 2010 11:15 am
Location: Los Angeles

Post by darrreever »

Hello Ray and Istsaur:

Thanks for the quick response. I know I am close when I have good people like you two on the case.

I have not checked the actual Web Service through SOAPUI explicitly, which is an excellent first step in checking connectivity, yet I have checked it through another IIS 8.7 windows installation and the job runs. Also, the weather wsdl connects to a well utilized 3rd party service and so the issue is not there. In fact the Web Service documentation alludes to this service.

We have not applied the latest FP1 to this server; however, none of the APARs or Patches associated with the FP1 are applicable. Also, notice that the error does not relate to security, per se. Certainly, some file somewhere in the installation may have the wrong permissions, but without knowing where to start to look, the proverbial needle in a haystack. Also, since my JAVA and XML packs all work, I doubt file permissions is an issue.

As to the possibility that the server has some sort of trust or SSL "related" issue or fire wall blocked, those types of issues show up very distinctly in the error messages which I do not see.

I appreciate all of your help. I explain this at length to help others who may follow our lead.

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

Post by eostic »

Hard to say...certainly the fact that the Job runs on the other machine means that everything is coded correctly (assuming you just moved the .dsx).....where are you getting your input from? any chance it is getting bogus data in this case? What other differences are there in the environments besides FPs?

Ernie
Ernie Ostic

blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
darrreever
Participant
Posts: 19
Joined: Tue Feb 23, 2010 11:15 am
Location: Los Angeles

Post by darrreever »

Hello Ernie:

Now I know there really is a light at the end of the tunnel, and its not a train, when Ernie gets involved.

Basically the input is hard coded on the Web Services Client Output tab> Input Arguments.

We have had to get IBM Tech Support involved and they have reproduced this error and are going to Engineering.

I will post a fix as soon as I get one.

Thanks again to all who have read and considered this problem. It is truly a blessing that you all are willing to help and contribute to this great forum!
Darryl
darrreever
Participant
Posts: 19
Joined: Tue Feb 23, 2010 11:15 am
Location: Los Angeles

Post by darrreever »

Hello DataStagers!

After a few emails to the IBM support teams, the original fix patch JR43541 did not completely solve the problem, it had a bug, the actual fix is JR45664.

What was happening to cause the original null path exception is that XPATH expressions were not being populated/formed on WSDL import. Fix patch 43541 fixed the initial problem of the null pointer, in that it provided the XPATH expressions that were missing. This gave the illusion that the problem was fixed as I no longer received the null pointer exception. However, that patch had a bug; it did not fully form the XPATH expression; it left out /text() at the end of the XPATH which meant that no rows would be returned.

After another few emails, the actual client side fix patch JR45664 was received. The patch replaces 10 .dlls. After installing the patch (or just copy the 10 dlls) everything worked fine.

Of course, if we were able to install 8.7 FixPack 1 on the client side at the beginning everything would have been ok but we did not have permission to do so.

Thanks for all of your help.
Darryl
eostic
Premium Member
Premium Member
Posts: 3838
Joined: Mon Oct 17, 2005 9:34 am

Post by eostic »

Congrats, and thanks for the details! ....in theory, if the xpath was the only problem, this one is fixable by hand on a per-job basis prior to the patch, if someone was in a crucial mode with one particular Job.

Ernie
Ernie Ostic

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