Pagina 1 di 1
[Java] Java2WSDL non riconosciuta
Inviato: martedì 18 dicembre 2007, 17:43
da peppespe
Premetto di aver installato e configurato correttamente il SOAP Engine Axis 1.2 sia sotto la mia distribuzione Ubuntu 7.10 che su Win XP.
Ho però un problema sotto Ubuntu nel creare un file WSDL per un web service (denominato "ThaiPalaceMenuService") mediante la classe Java2WSDL mentre la medesima operazione sotto Win mi funziona correttamente, ecco gli esiti:
- Sotto Windows:
Codice: Seleziona tutto
C:\projects\thai>java org.apache.axis.wsdl.Java2WSDL -o ThaiPalaceMenuService.wsdl -l http://localhost:8080/axis/services/ThaiPalaceMenuService -n urn:com.dominio.service.ThaiPalaceMenuService -pcom.dominio.service.ThaiPalaceMenuService urn:com.dominio.service.ThaiPalaceMenuService ThaiPalaceMenuService
- Sotto Ubuntu:
Codice: Seleziona tutto
root@giuseppe-laptop:/home/giuseppe/projects/thai# java org.apache.axis.wsdl.Java2WSDL -o ThaiPalaceMenuService.wsdl -l http://localhost:8080/axis/services/ThaiPalaceMenuService -n urn:com.dominio.service.ThaiPalaceMenuService -pcom.dominio.service.ThaiPalaceMenuService urn:com.dominio.service.ThaiPalaceMenuService ThaiPalaceMenuService
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/axis/wsdl/Java2WSDL
e pure le variabili di ambiente mi sembrano settate correttamente:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANGUAGE="it_IT

en_GB:en"
LANG="it_IT.UTF-8"
JAVA_HOME="/usr/local/jdk1.6.0_03"
JAVA_HOME="/usr/lib/jvm/java-6-sun-1.6.0.03"
CLASSPATH="/var/lib/tomcat5.5/webapps/axis/WEB-INF/libaxis.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libaxis-ant.jar:
/var/lib/tomcat5.5/webapps/axis/WEB-INF/libcommons-discovery-0.2.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libcommons-logging-1.0.4.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libjaxrpc.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/liblog4j-1.2.8.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libsaaj.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libwsdl4j-1.5.1.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libmail.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libxercesImpl.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libxmlsec.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libcommons-httpclient-3.0-rc2.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libmailapi_1_3_1.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libservlet.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libclutil.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libxmlParserAPIs.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/activation.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/tools.jar:
/home/giuseppe/projects/junit3.8.1/junit.jar"
Re: [Java] Java2WSDL non riconosciuta
Inviato: martedì 18 dicembre 2007, 18:06
da Massimo S.
Sei sicuro che la var CLASSPATH sia settata bene?
Se dai il comando
te la visualizza tutta?
Forse il problema è l'eccessiva lunghezza della definizione della var, non so se c'è un limite in linux ...
Re: [Java] Java2WSDL non riconosciuta
Inviato: martedì 18 dicembre 2007, 18:15
da peppespe
mi sa ke hai proprio ragione:
root@giuseppe-laptop:/home/giuseppe/projects/thai# echo $CLASSPATH
/var/lib/tomcat5.5/webapps/axis/WEB-INF/libaxis.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libaxis-ant.jar:
invece di:
CLASSPATH="/var/lib/tomcat5.5/webapps/axis/WEB-INF/libaxis.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libaxis-ant.jar:
/var/lib/tomcat5.5/webapps/axis/WEB-INF/libcommons-discovery-0.2.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libcommons-logging-1.0.4.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libjaxrpc.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/liblog4j-1.2.8.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libsaaj.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libwsdl4j-1.5.1.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libmail.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libxercesImpl.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libxmlsec.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libcommons-httpclient-3.0-rc2.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libmailapi_1_3_1.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libservlet.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libclutil.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/libxmlParserAPIs.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/activation.jar:/var/lib/tomcat5.5/webapps/axis/WEB-INF/tools.jar:
/home/giuseppe/projects/junit3.8.1/junit.jar"
come si può risolvere questo problema?
Re: [Java] Java2WSDL non riconosciuta
Inviato: mercoledì 19 dicembre 2007, 10:46
da Massimo S.
Ma sei sicuro di non esserci andato un po largo con il classpath?

Tutti quei jar sono veramente necessari?
Come la imposti la variabile? Dentro uno script?
La parte di definizione che ti ha preso è molto più corta di quanto mi aspettavo, non è che c'è un carattere di "a capo" dopo "libaxis-ant.jar:" ?
Comunque potresti anche fare una prova nel definire la variabile a pezzi, cioè qualcosa del tipo
Codice: Seleziona tutto
export CLASSPATH=pezzo1
export CLASSPATH=$CLASSPATH:pezzo2
...
export CLASSPATH=$CLASSPATH:pezzoN
Re: [Java] Java2WSDL non riconosciuta
Inviato: mercoledì 19 dicembre 2007, 11:46
da peppespe
Massimo S. ha scritto:
Ma sei sicuro di non esserci andato un po largo con il classpath?

Tutti quei jar sono veramente necessari?
Come la imposti la variabile? Dentro uno script?
La parte di definizione che ti ha preso è molto più corta di quanto mi aspettavo, non è che c'è un carattere di "a capo" dopo "libaxis-ant.jar:" ?
Comunque potresti anche fare una prova nel definire la variabile a pezzi, cioè qualcosa del tipo
Codice: Seleziona tutto
export CLASSPATH=pezzo1
export CLASSPATH=$CLASSPATH:pezzo2
...
export CLASSPATH=$CLASSPATH:pezzoN
purtroppo x la realizzazione del progetto all'Uni sono richiesti tutti quei file .jar , mentre x quanto riguarda la c.d. definizioni di variabili a pezzi, se parli di configurazione da riga di comando, questi varrà solo per la sessione di lavoro in corso, dopo di che dovrei ripetere l'operazione ad ogni riuso e/o riavvio del pc.
Re: [Java] Java2WSDL non riconosciuta
Inviato: mercoledì 19 dicembre 2007, 13:41
da Massimo S.
Beh basta che metti la definizione .... ad esempio alla fine di .bashrc (file nascosto) nella tua home dir. e sei a posto.
Però prima fai una prova definendola al volo a riga di comando per vedere se funziona
Re: [Java] Java2WSDL non riconosciuta
Inviato: mercoledì 19 dicembre 2007, 14:31
da peppespe
ho provato così da riga di comando:
set AXIS_HOME=/var/lib/tomcat5.5/webapps/axis
set AXIS_LIB=$AXIS_HOME/WEB-INF/lib
set AXISCLASSPATH=$AXIS_LIB/axis.jar:$AXIS_LIB/activation.jar:$AXIS_LIB/commons-logging-1.0.4.jar:$AXIS_LIB/servlet.jar:$AXIS_LIB/axis-ant.jar:$AXIS_LIB/jaxrpc.jar:$AXIS_LIB/tools.jar:$AXIS_LIB/log4j-1.2.8.jar:$AXIS_LIB/wsdl4j-1.5.1.jar:$AXIS_LIB/clutil.jar:$AXIS_LIB/mailapi_1_3_1.jar:$AXIS_LIB/xercesImpl.jar:$AXIS_LIB/commons-discovery-0.2.jar:$AXIS_LIB/mail.jar:$AXIS_LIB/xmlParserAPIs.jar:$AXIS_LIB/commons-httpclient-3.0-rc2.jar:$AXIS_LIB/saaj.jar:$AXIS_LIB/xmlsec.jar:$AXIS_LIB/junit.jar
export AXIS_HOME; export AXIS_LIB; export AXISCLASSPATH
ma non ottengo nessun risultato utile poiché l'echo associato risulta vuoto, in cosa sbaglio?
Re: [Java] Java2WSDL non riconosciuta
Inviato: mercoledì 19 dicembre 2007, 15:25
da Massimo S.
invece di mettere export alla fine, sostituisci tutti i "set" con "export"
questo per la prova a riga di comando, dentro gli script dovrebbe funzionare anche come hai fatto
Re: [Java] Java2WSDL non riconosciuta
Inviato: mercoledì 19 dicembre 2007, 15:31
da peppespe
cioè dovrei inserire dentro environment il codice così come te l'ho presentato?
Re: [Java] Java2WSDL non riconosciuta
Inviato: mercoledì 19 dicembre 2007, 15:34
da Massimo S.
peppespe ha scritto:
cioè dovrei inserire dentro environment il codice così come te l'ho presentato?
ti riferisci a /etc/environment ?
No mi sa che quello non ha questa sintassi.
Io dicevo in $HOME/.bashrc
(nota che /etc/environment è globale mentre .bashrc è locale alla bash lanciate dall'utente specifico)
Re: [Java] Java2WSDL non riconosciuta
Inviato: mercoledì 19 dicembre 2007, 15:46
da peppespe
ho fatto bene?
root@giuseppe-laptop:/home/giuseppe# gedit .bashrc
Codice: Seleziona tutto
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
# don't put duplicate lines in the history. See bash(1) for more options
export HISTCONTROL=ignoredups
# ... and ignore same sucessive entries.
export HISTCONTROL=ignoreboth
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(lesspipe)"
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color)
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
;;
*)
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
;;
esac
# Comment in the above and uncomment this below for a color prompt
#PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
;;
*)
;;
esac
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
#if [ -f ~/.bash_aliases ]; then
# . ~/.bash_aliases
#fi
# enable color support of ls and also add handy aliases
if [ "$TERM" != "dumb" ]; then
eval "`dircolors -b`"
alias ls='ls --color=auto'
#alias dir='ls --color=auto --format=vertical'
#alias vdir='ls --color=auto --format=long'
fi
# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
set AXIS_HOME=/var/lib/tomcat5.5/webapps/axis
set AXIS_LIB=$AXIS_HOME/WEB-INF/lib
set AXISCLASSPATH=$AXIS_LIB/axis.jar:$AXIS_LIB/activation.jar:$AXIS_LIB/commons-logging-1.0.4.jar:$AXIS_LIB/servlet.jar:$AXIS_LIB/axis-ant.jar:$AXIS_LIB/jaxrpc.jar:$AXIS_LIB/tools.jar:$AXIS_LIB/log4j-1.2.8.jar:$AXIS_LIB/wsdl4j-1.5.1.jar:$AXIS_LIB/clutil.jar:$AXIS_LIB/mailapi_1_3_1.jar:$AXIS_LIB/xercesImpl.jar:$AXIS_LIB/commons-discovery-0.2.jar:$AXIS_LIB/mail.jar:$AXIS_LIB/xmlParserAPIs.jar:$AXIS_LIB/commons-httpclient-3.0-rc2.jar:$AXIS_LIB/saaj.jar:$AXIS_LIB/xmlsec.jar:$AXIS_LIB/junit.jar
export AXIS_HOME; export AXIS_LIB; export AXISCLASSPATH
Re: [Java] Java2WSDL non riconosciuta
Inviato: mercoledì 19 dicembre 2007, 17:52
da Massimo S.
peppespe ha scritto:
ho fatto bene?
Beh puoi verificarlo da solo, funziona?
Ad esempio se fai
te la visualizza correttamente?
Io in un caso simile avevo fatto senza usare le "set" e con gli export uno per riga, tipo:
ma penso che come hai fato tu sia lo stesso
Re: [Java] Java2WSDL non riconosciuta
Inviato: mercoledì 19 dicembre 2007, 19:44
da peppespe
Risolto senza SET
root@giuseppe-laptop:/home/giuseppe# echo $AXIS_LIB
/var/lib/tomcat5.5/webapps/axis/WEB-INF/lib
root@giuseppe-laptop:/home/giuseppe#