blob: b646d838cccd75a1e1b78b6c6e7cea34513899e2 [file] [log] [blame]
#!/bin/sh
#
# Build the testcase
#
# arg 1 : WSDL file
# arg 2 : language (c/c++)
#Build the wsdl2ws tool from the source
ant -lib ${AXIS_JARS_HOME} -buildfile ${AXISCPP_HOME}/src/wsdl/build.xml
#Server sample build and install
TARGET_SERVER=$(echo $OUTPUT_DIR/$(basename $1 .wsdl).$2 | tr '+' 'p')_server
SERVICE_FILE_NAME=$(echo | grep portType $1|grep -o '".*"'|sed "s/\"//g").$2
SERVER=$(echo testcases/server/$2/${SERVICE_FILE_NAME})
LIB_SERVICE_NAME=$(echo | grep portType $1|grep -o '".*"'|sed "s/\"//g")
STYLE=$(echo | grep style $1 | grep -o 'style=".*"' | grep -o '".*"' | sed "s/\"//g")
#sed -e "s/service_name/${LIB_SERVICE_NAME}/g" -e "s/service_lib_name/${LIB_SERVICE_NAME}/g" -e "s/STYLE/${STYLE}/g" service_temp.wsdd > service.wsdd
echo ${WSDL2WS_HOME}
java -cp ${WSDL2WS_HOME}/wsdl2ws.jar:${AXIS_JARS} org.apache.axis.wsdl.wsdl2ws.WSDL2Ws -sserver -l$2 -o$TARGET_SERVER $1
sed -e "s/<?xml.*>//g" -e "s/<\/deployment>//g" -e "s/<deployment.*>//g" $TARGET_SERVER/deploy.wsdd > deploy.wsdd
if ! test -f server.wsdd_temp2; then
cat server.wsdd_temp > server.wsdd_temp2
fi
grep "${LIB_SERVICE_NAME}" server.wsdd_temp2
if [ $? -eq 0 ]
then
echo "Service already listed in the server.wsdd"
else
cat deploy.wsdd >> server.wsdd_temp2
fi
sed -e "s/<\/deployment>//g" server.wsdd_temp2 > server.wsdd
echo "</deployment>" >> server.wsdd
if [ $? -eq 0 ]
then
cp $SERVER $TARGET_SERVER
cd $TARGET_SERVER
g++ -shared -I$AXISCPP_HOME/include -olibservice.so *.cpp
cp -f libservice.so $AXISCPP_DEPLOY/lib/lib${LIB_SERVICE_NAME}.so
cp -f server.wsdd $AXISCPP_DEPLOY/etc/
${APACHE2_HOME}/bin/apachectl restart
${APACHE_HOME}/bin/apachectl restart
else
echo "WSDL2Ws.sh -sserver -l$2 -o$TARGET_SERVER $1 failed"
exit 1
fi
#Client sample build
cd "${OUTPUT_DIR}/../.."
TARGET_CLIENT=$(echo $OUTPUT_DIR/$(basename $1 .wsdl).$2 | tr '+' 'p')_client
CLIENT=$(echo testcases/client/$2/$(basename $1 .wsdl)Client.$2 | tr '+' 'p')
java -cp ${WSDL2WS_HOME}/wsdl2ws.jar:${AXIS_JARS} org.apache.axis.wsdl.wsdl2ws.WSDL2Ws -sclient -l$2 -o$TARGET_CLIENT $1
if [ $? -eq 0 ]
then
cp $CLIENT $TARGET_CLIENT
cd $TARGET_CLIENT
g++ -I$AXISCPP_HOME/include -L$AXISCPP_DEPLOY/lib -laxiscpp_client -ldl -oclient *.cpp
else
echo "WSDL2Ws.sh -sclient -l$2 -o$TARGET_CLIENT $1 failed"
exit 1
fi
exit 0