Web Service PACK Help

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
rodre
Premium Member
Premium Member
Posts: 218
Joined: Wed Mar 01, 2006 1:28 pm
Location: Tennessee

Web Service PACK Help

Post by rodre »

I am trying to get the Web Service PACK to work in DataStage and, one, the designer guide does not explains things well, or two, I am missing something all together. :?
Here is what I am trying to do:
I found a simple Web Service to call (http://www.xmethods.net/, the US Zip Validator), which is a simple Web Service where you enter the zip code and gives you back the State, longitude and latitude degrees. I was able successfully to import the Web Service in DataStage. My job looks like this:

Code: Select all

SeqFile(With Zip Code Value) ---->WebServ Client----->WebServ Transform ------>SeqOutputFile
I can get the ZipCode Value to enter the WebServ Client, that's it. I thought it would accept my ZipCode Value, run the Web Service and return the info back in the Sequential fie.

Does anyone have a Web Service job that works and could send me the .dsx file that could help me understand how this process works?...

Much Thanks in Advance for you Help!! :)
anntaylor
Participant
Posts: 24
Joined: Tue May 10, 2005 5:17 pm

Post by anntaylor »

The client is either a source or a target, use the xform within your job flow.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

In other words, use just the Web Service Transformer in your job and dump the 'ws client' stage. :wink:

Use the Client stage when all you want to do is source from a web service.
-craig

"You can never have too many knives" -- Logan Nine Fingers
rodre
Premium Member
Premium Member
Posts: 218
Joined: Wed Mar 01, 2006 1:28 pm
Location: Tennessee

Post by rodre »

Thank you Craig for the response!! :)

I used the transformer only and I am getting a warning and no output. I don't know what the warning means but here is the warning...Do you know what is saying?...

Code: Select all

ZipCodeValidation1..Web_Services_Transformer_0: ---- response exception ----
AxisFault  faultCode: {http://xml.apache.org/axis/}Call.invoke 
 faultSubcode:   faultString: Cannot invoke Call with null namespace URI for method null  faultActor:   faultNode:   faultDetail:  	{http://xml.apache.org/axis/}stackTrace: AxisFault  faultCode: {http://xml.apache.org/axis/}Call.invoke  
faultSubcode:   
faultString: Cannot invoke Call with null namespace URI for method null  faultActor:   faultNode:   faultDetail:  Cannot invoke Call with null namespace URI for method null 	at org.apache.axis.client.Call.invoke(Call.java:2498) 	at org.apache.axis.client.Call.invoke(Call.java:1753) 	at com.ascentialsoftware.wsclient.OperationCall.invoke(OperationCall.java:266) 	at com.ascentialsoftware.wsclient.WebService.callServiceInternal(WebService.java:1659) 	at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1566) 	at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1519) 	at com.ascentialsoftware.wspack.Transformer.process(Transformer.java:102) 	at com.ascentialsoftware.jds.StageFactory.runStage(StageFactory.java:544) 	at com.ascentialsoftware.jds.StageFactory.runTransformer(StageFactory.java:361) 	at com.ascentialsoftware.wsclient.OperationCall.handleRemoteException(OperationCall.java:379) 	at com.ascentialsoftware.wsclient.OperationCall.invoke(OperationCall.java:274) 	at com.ascentialsoftware.wsclient.WebService.callServiceInternal(WebService.java:1659) 	at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1566) 	at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1519) 	at com.ascentialsoftware.wspack.Transformer.process(Transformer.java:102) 	at com.ascentialsoftware.jds.StageFactory.runStage(StageFactory.java:544) 	at com.ascentialsoftware.jds.StageFactory.runTransformer(StageFactory.java:361) 
rodre
Premium Member
Premium Member
Posts: 218
Joined: Wed Mar 01, 2006 1:28 pm
Location: Tennessee

Post by rodre »

Thank you Craig for the response!! :)

I used the transformer only and I am getting a warning and no output. I don't know what the warning means but here is the warning...Do you know what is saying?...

Code: Select all

ZipCodeValidation1..Web_Services_Transformer_0: ---- response exception ----
AxisFault  faultCode: {http://xml.apache.org/axis/}Call.invoke 
 faultSubcode:   faultString: Cannot invoke Call with null namespace URI for method null  faultActor:   faultNode:   faultDetail:  	{http://xml.apache.org/axis/}stackTrace: AxisFault  faultCode: {http://xml.apache.org/axis/}Call.invoke  
faultSubcode:   
faultString: Cannot invoke Call with null namespace URI for method null  faultActor:   faultNode:   faultDetail:  Cannot invoke Call with null namespace URI for method null 	at org.apache.axis.client.Call.invoke(Call.java:2498) 	at org.apache.axis.client.Call.invoke(Call.java:1753) 	at com.ascentialsoftware.wsclient.OperationCall.invoke(OperationCall.java:266) 	at com.ascentialsoftware.wsclient.WebService.callServiceInternal(WebService.java:1659) 	at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1566) 	at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1519) 	at com.ascentialsoftware.wspack.Transformer.process(Transformer.java:102) 	at com.ascentialsoftware.jds.StageFactory.runStage(StageFactory.java:544) 	at com.ascentialsoftware.jds.StageFactory.runTransformer(StageFactory.java:361) 	at com.ascentialsoftware.wsclient.OperationCall.handleRemoteException(OperationCall.java:379) 	at com.ascentialsoftware.wsclient.OperationCall.invoke(OperationCall.java:274) 	at com.ascentialsoftware.wsclient.WebService.callServiceInternal(WebService.java:1659) 	at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1566) 	at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1519) 	at com.ascentialsoftware.wspack.Transformer.process(Transformer.java:102) 	at com.ascentialsoftware.jds.StageFactory.runStage(StageFactory.java:544) 	at com.ascentialsoftware.jds.StageFactory.runTransformer(StageFactory.java:361) 
eostic
Premium Member
Premium Member
Posts: 3838
Joined: Mon Oct 17, 2005 9:34 am

Post by eostic »

It looks to me like it might not even be getting outside of the DS Server...the Axis SOAP engine in WSPack may be complaining about the XML it is trying to interpret.....

...this could be something weird, or it could be as simple as the "mechanics" of implementing the WSTransformer Stage. Be sure that you:

a) import the WSDL via the WSDL meta data importer (table definition import option)...pick one of the operations and it should import cleanly, usually saying that it imported 2 things (request and response) and bringing in a set of table definitions into the repository (it only uses the _IN and _OUT for the formal column information but the others are important meta data placeholders.
b) drop the WSTransformer onto the canvas and put two transformers around it. This is just to be "safe" when first working with the Stage....once you know what you are doing, you won't need them....but other XML "type" Stages can interfere, because they all "overload" the Description attributes on the link.
c) use the Stage level button to get your Web Service (click on the gear icon for the operation you want).
d) ...the most critical for your error.... go to the Input link (and same for output link) and select the "Message" tab first --- load the message info and you should see all the namespace info go into the dialog box.....and your link grid of Columns will automatically be filled. Do nothing else. Now do the same for the Output link.

That should be enough....at least for namespace type problems. Is it possible that you are using a more complex web service? Try a simple one first, one that is one row in and one row out, no SOAP headers required, no SSL or HTTPS or proxies needed, and a simple structure for input and output. One I like to validate with is http://developerdays.com/cgi-bin/tempco ... pConverter

If you are using SOAP Headers it can get really tricky to get the namespaces right.

Good luck.

Ernie
rodre
Premium Member
Premium Member
Posts: 218
Joined: Wed Mar 01, 2006 1:28 pm
Location: Tennessee

Post by rodre »

Ernie,
I followed your instructions and imported the suggested web service and it failed....Should I use XML input and Output files?....I don't understand the error message, help me decipher it...?

My job design is:
SeqFile----->Transf------>WebServTransf----->Transf------>SeqFile
Here is the error message:

Code: Select all

TempValidation1..Web_Services_Transformer_0: <ns1:Fault xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/">
   <faultcode>soapenv:Server.userException</faultcode>
   <faultstring>java.net.UnknownHostException: developerdays.com</faultstring>
   <detail>
    <ns1:stackTrace xmlns:ns1="http://xml.apache.org/axis/">java.net.UnknownHostException: developerdays.com
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:153)
	at java.net.Socket.connect(Socket.java:452)
	at java.net.Socket.connect(Socket.java:402)
	at java.net.Socket.<init>(Socket.java:309)
	at java.net.Socket.<init>(Socket.java:124)
	at org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:129)
	at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:157)
	at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:114)
	at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
	at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
	at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
	at org.apache.axis.client.AxisClient.invoke(AxisClient.java:180)
	at org.apache.axis.client.Call.invokeEngine(Call.java:2564)
	at org.apache.axis.client.Call.invoke(Call.java:2553)
	at org.apache.axis.client.Call.invoke(Call.java:1753)
	at com.ascentialsoftware.wsclient.OperationCall.invoke(OperationCall.java:266)
	at com.ascentialsoftware.wsclient.WebService.callServiceInternal(WebService.java:1659)
	at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1566)
	at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1519)
	at com.ascentialsoftware.wspack.Transformer.process(Transformer.java:102)
	at com.ascentialsoftware.jds.StageFactory.runStage(StageFactory.java:544)
	at com.ascentialsoftware.jds.StageFactory.runTransformer(StageFactory.java:361)
</ns1:stackTrace>
   </detail>
  </ns1:Fault>
	at com.ascentialsoftware.wsclient.OperationCall.handleRemoteException(OperationCall.java:369)
	at com.ascentialsoftware.wsclient.OperationCall.invoke(OperationCall.java:274)
	at com.ascentialsoftware.wsclient.WebService.callServiceInternal(WebService.java:1659)
	at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1566)
	at com.ascentialsoftware.wsclient.WebService.callService(WebService.java:1519)
	at com.ascentialsoftware.wspack.Transformer.process(Transformer.java:102)
	at com.ascentialsoftware.jds.StageFactory.runStage(StageFactory.java:544)
	at com.ascentialsoftware.jds.StageFactory.runTransformer(StageFactory.java:361)
Thank you so much for your help!!.... :)
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

<faultstring>java.net.UnknownHostException: developerdays.com</faultstring>

Would seem to imply your host name is incorrect.
-craig

"You can never have too many knives" -- Logan Nine Fingers
eostic
Premium Member
Premium Member
Posts: 3838
Joined: Mon Oct 17, 2005 9:34 am

Post by eostic »

Any chance you have a proxy server in the way?
rodre
Premium Member
Premium Member
Posts: 218
Joined: Wed Mar 01, 2006 1:28 pm
Location: Tennessee

Post by rodre »

No proxy server in the way....

Anyone else have a clue why this is not working...

I checked with the Server adminstrator and don't seem there is an issue for the server connecting to the host....
rodre
Premium Member
Premium Member
Posts: 218
Joined: Wed Mar 01, 2006 1:28 pm
Location: Tennessee

Post by rodre »

The issue has been resolved.
Reason: The System Adminstrators don't allow remote host connections through the DEV server.

Thanks everyone for your help!!!
Post Reply