Page 1 of 1

Calling a webservice

Posted: Tue Aug 24, 2010 3:34 pm
by kennyapril
I used sequential file which has the input and other sequential file for the output.

Along with these I used webservice transformer.
like-------:-seqfile-------->webservtrans--------->seqfile

do I need to use XML output also after sequential file input....pls let me know because as of now........I am getting an error msg...

Error occurred in call to ORPHCallActivePluginInitialize().


pls let me know!!

Posted: Tue Aug 24, 2010 6:34 pm
by eostic
Could be a whole lot of things. Early 8.x received lots of java errors initializing the pack...that could be it here. Search the forum for things like "can't initialize jvm" and other similar errors.

Exactly what release of 8.x are you on...those things were corrected in 8.1 with FP1.

Try also a Server Job...sometimes the errors will be slightly different.

Try also with a very simple web service. I like Temperature Conversion one over at www.xmethods.com (view "FULL LIST" and then do a CNTL-F to find Temperature Conversion.

Ernie

Posted: Tue Aug 24, 2010 7:25 pm
by kennyapril
Thanks ernie!!

I am using 8.0.1
The sequential file input has input data as three different columns
after that the stage webservice transformer is used and after that Sequential File output is used.

Do I need to change the format to XML while sending the input to the webservice transformer or leave it as it is?

let me know if I need to add any other stages other than the three used.

will use the service tempconversion and let you know!!

Posted: Tue Aug 24, 2010 7:46 pm
by chulett
Please stop with the exclamation marks in your subjects, I don't need the extra work running around behind you and cleaning them up.

Thanks.

Posted: Wed Aug 25, 2010 12:21 am
by datisaq
In one of my projects we have passed inputs as XML to the web service.

I think you also have to send XML as input. I suggest you ask your web service team for clarifications, like they will suggest you the expected input required for the web service.

Posted: Wed Aug 25, 2010 7:42 am
by kennyapril
I tried the server job using the temperature convertion service

sequential------------->webservicetransformer---------->sequential

compilation is fine but when I execute the job
it throws an error

TJClient::initialize: unable to create Java Virtual Machine; classpath = /opt/IBM/InformationServer/Server/DSEngine/java/lib/wsclient.jar
/opt/IBM/InformationServer/Server/DSEngine/java/lib/axis.jar
/opt/IBM/InformationServer/Server/DSEngine/java/lib/commons-discovery.jar
/opt/IBM/InformationServer/Server/DSEngine/java/lib/commons-logging.jar
/opt/IBM/InformationServer/Server/DSEngine/java/lib/jaxrpc.jar
/opt/IBM/InformationServer/Server/DSEngine/java/lib/saaj.jar
/opt/IBM/InformationServer/Server/DSEngine/java/lib/wsdl4j.jar
ASCL-DSJNI-00011`:`JNIWrapper: load library failed: directory /opt/IBM/InformationServer/Server/DSEngine/java/jre/bin/classic, name jvm
/opt/IBM/InformationServer/Server/DSEngine/java/jre/bin/classic/libjvm.so: cannot open shared object file: No such file or directory

Posted: Wed Aug 25, 2010 7:44 am
by chulett
Do an exact search here for "unable to create Java Virtual Machine".

Posted: Wed Aug 25, 2010 8:52 am
by kennyapril
do we need to use only server jobs for calling a service( I mean for using web services pack)

I tried parallel job got some errors ,now tried server job ang got this error


I did search for "unable to create Java Virtual Machine"

found reply which says setting the env variables


DATASTAGE_JVM=C:\IBM\InformationServer\ASBNode\apps\jre\bin\j9vm
DATASTAGE_JRE=C:\IBM\InformationServer\ASBNode\apps

pls let me know the way how to do this?

Posted: Wed Aug 25, 2010 9:05 am
by chulett
Add them to your dsenv file.

Posted: Wed Aug 25, 2010 9:43 am
by kennyapril
this is in my dsenv file in the path

/opt/IBM/InformationServer/Server/DSEngine

####################################################################

# PLATFORM SPECIFIC SECTION

set +u

if [ -z "$DSHOME" ] && [ -f "/.dshome" ]
then
DSHOME=`cat /.dshome`
export DSHOME
fi

if [ -z "$DSHOME" ]
then
DSHOME=/opt/IBM/InformationServer/Server/DSEngine; export DSHOME
fi

if [ -z "$APT_ORCHHOME" ]
then
APT_ORCHHOME=/opt/IBM/InformationServer/Server/PXEngine; export APT_ORCHHOME
fi

#if [ -z "$UDTHOME" ]
#then
UDTHOME=/opt/IBM/InformationServer/Server/DSEngine/ud41 ; export UDTHOME
UDTBIN=/opt/IBM/InformationServer/Server/DSEngine/ud41/bin ; export UDTBIN
#fi

#if [ -z "$ASBHOME" ] && [ -f "$DSHOME/.asbnode" ]
#then
ASBHOME=`cat $DSHOME/.asbnode`
export ASBHOME
#fi

#if [ -z "$ASBHOME" ]
#then
#ASBHOME=`dirname \`dirname $DSHOME\``/ASBNode
#export ASBHOME
#fi

if [ -n "$DSHOME" ] && [ -d "$DSHOME" ]
then
ODBCINI=$DSHOME/.odbc.ini; export ODBCINI
HOME=${HOME:-/}; export HOME

#LANG="<langdef>";export LANG
#LC_ALL="<langdef>";export LC_ALL
#LC_CTYPE="<langdef>";export LC_CTYPE
#LC_COLLATE="<langdef>";export LC_COLLATE
#LC_MONETARY="<langdef>";export LC_MONETARY
#LC_NUMERIC="<langdef>";export LC_NUMERIC
#LC_TIME="<langdef>";export LC_TIME
#LC_MESSAGES="<langdef>"; export LC_MESSAGES


LD_LIBRARY_PATH=`dirname $DSHOME`/branded_odbc/lib:`dirname $DSHOME`/DSComponents/lib:`dirname $DSHOME`/DSComponents/bin:$DSHOME/lib:$DSHOME/uvdlls:$APT_ORCHHOME/lib:$ASBHOME/apps/jre/bin:$ASBHOME/apps/jre/bin/classic:$ASBHOME/lib/cpp:$ASBHOME/apps/proxy/cpp/linux-all-x86:/opt/IBM/informix/lib:/opt/IBM/informix/lib/esql:/opt/IBM/informix/lib/cli:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

PATH=/opt/IBM/informix/bin:/apps/openssh/bin:$PATH
export PATH

INFORMIXDIR=/opt/IBM/informix ; export INFORMIXDIR
INFORMIXSERVER=d100srvnet ; export INFORMIXSERVER
INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts; export INFORMIXSQLHOSTS
fi

where can I add them?

Posted: Wed Aug 25, 2010 10:39 am
by kennyapril
actually I will explain in detail what the job does

I have a sequential file in the server which has data as
ID Name pwd
123,abc,ert
456,jkk,yui
678,kjg,uiy

each row is a request to a service(external service)
I have a wsdl for that.

Now I need to call this service by using this input file and send the response or store it in another file.

so the job is in this way(parallel)

sequentialfile-------->webservicetransformer------->sequentialfile

First using webservice importer I imported the WSDL and the operation in the service.
after that using input msg and output msg in that stage laoded the information.

which automatically filled the columns in both the stages(sequentialfileinput & sequential file output)

and when I run the service I get the error
Error occurred in call to ORPHCallActivePluginInitialize().

searched all the forum but this error usually occured while calling a stored procedure so didnot find the solution for this error when calling a service.
there is a warning msg also.

which says
initialize: unable to create Java Virtual Machine; classpath = /opt/IBM/InformationServer/Server/DSEngine/java/lib/wsclient.jar

searched in the forum...results are...setting environment variables.
datastage_JRE
datastage_JVM
entered into the DSadministrator client and I found in the categories tab
general,parallel,userdefined
where in these do I need to add the above two variables...

please let me know about this parallel job as in our tool we never did a server job and never from the tool we called a webservice

so,do we need any setup for calling webservice?

Posted: Wed Aug 25, 2010 11:00 am
by chulett
kennyapril wrote:where can I add them?
Pretty much anywhere but I'd suggest just after the INFORMIX ones and before the "fi".