Differenze tra le versioni di "Webservice"

Da wiki.maggioli.it.
Jump to navigation Jump to search
imported>Lstauble
imported>Lstauble
Riga 1: Riga 1:
==Come si raggiunge un webservice==
==Come si raggiunge un webservice==
Per l’invocazione del Web Service utilizzare la seguente sintassi:
Per l’invocazione del Web Service utilizzare la seguente sintassi:
http://<hostname>:<port>/client/services/<webservice>
http://<hostname>:<port>/client/services/<webservice>
dove:
dove:
<hostname>: è il nome del Web Server in cui viene installato il web service;
<hostname>: è il nome del Web Server in cui viene installato il web service;
<port>: è la porta su cui è in ascolto il web service (porta di Tomcat); se la porta è quella standard HTTP, la 80, allora l’indicazione della porta può essere omessa;
<port>: è la porta su cui è in ascolto il web service (porta di Tomcat); se la porta è quella standard HTTP, la 80, allora l’indicazione della porta può essere omessa;
<webservice>: è il Web Service vero e proprio che espone le funzionalità.
<webservice>: è il Web Service vero e proprio che espone le funzionalità.
Per ottenere il WSDL del web service:
Per ottenere il WSDL del web service:
http://<hostname>:<port>/client/services/<webservice>?wsdl
http://<hostname>:<port>/client/services/<webservice>?wsdl


/client/services/: è il percorso dell’applicazione web associata al web service.
/client/services/: è il percorso dell’applicazione web associata al web service.


Esempio di URL:
Esempio di URL:
Riga 20: Riga 20:
<code>
<code>
   <logon>
   <logon>
     <alias name=”suap@sicraweb” j2eeusername=”sicraweb” j2eepassword=”sicraweb” username=”suap” password=”suap”/>
     <alias name=”suap@sicraweb” j2eeusername=”sicraweb” j2eepassword=”sicraweb” username=”suap” password=”suap”/>
     <alias name=”suap@sicraweb_test” j2eeusername=”sicraweb_test” j2eepassword=”sicraweb_test” username=”suap” password=”suap”/>
     <alias name=”suap@sicraweb_test” j2eeusername=”sicraweb_test” j2eepassword=”sicraweb_test” username=”suap” password=”suap”/>
   </logon>
   </logon>
</code>
</code>


'''ATTENZIONE:'''  
'''ATTENZIONE:'''  
Controllare che nel file ''sicraweb.server.config.xml'' non esista già il tag ''<logon> </logon>''.
Controllare che nel file ''sicraweb.server.config.xml'' non esista già il tag ''<logon> </logon>''.
Se tale tag esiste, aggiungere i nuovi alias all’interno dei tag ''<logon> </logon>'' già presenti. Solitamente tali tag esistono per Anagrafe on line (AOL).
Se tale tag esiste, aggiungere i nuovi alias all’interno dei tag ''<logon> </logon>'' già presenti. Solitamente tali tag esistono per Anagrafe on line (AOL).
E’ molto importante che nel file, anche dopo le modifiche, esista un solo tag ''<logon>''.
E’ molto importante che nel file, anche dopo le modifiche, esista un solo tag ''<logon>''.


In questo file di configurazione vanno configurate le credenziali da utilizzare per effettuare l'accesso tramite web service.
In questo file di configurazione vanno configurate le credenziali da utilizzare per effettuare l'accesso tramite web service.
Creare i due alias, uno per l’ambiente di produzione ed uno per l’ambiente di test.
Creare i due alias, uno per l’ambiente di produzione ed uno per l’ambiente di test.
L’ alias name  è il nome con cui il software che chiama il WS e indica su quale database andare ad inserire le informazioni trasmesse.
L’ alias name  è il nome con cui il software che chiama il WS e indica su quale database andare ad inserire le informazioni trasmesse.
Il j2eeusername e j2eepassword è la configurazione che viene data dai sistemisti in fase di installazione per identificare il database;
Il j2eeusername e j2eepassword è la configurazione che viene data dai sistemisti in fase di installazione per identificare il database;
la si può recuperare dal file JNLP di avvio di SicraWeb nella seguente sezione (vedi dati evidenziati):
la si può recuperare dal file JNLP di avvio di SicraWeb nella seguente sezione (vedi dati evidenziati):


<code>
<code>
Riga 44: Riga 44:
</code>
</code>


NOTA: verificare SEMPRE che ci sia corrispondenza tra l’utente j2ee indicato nel JNLP di lancio di sicraweb e quello indicato nella sezione <logon>.
NOTA: verificare SEMPRE che ci sia corrispondenza tra l’utente j2ee indicato nel JNLP di lancio di sicraweb e quello indicato nella sezione <logon>.


==Attivare un webservice==
==Attivare un webservice==
Per attivare il web service è sufficiente aprire la maschera presente in GESTIONE -> CONFIGURAZIONE -> SISTEMA -> WEBSERVICE.
Per attivare il web service è sufficiente aprire la maschera presente in GESTIONE -> CONFIGURAZIONE -> SISTEMA -> WEBSERVICE.
Se la voce di menù non è attiva, significa che l’utente che si sta usando è privo del permesso di configurazione dei Webservice:
Se la voce di menù non è attiva, significa che l’utente che si sta usando è privo del permesso di configurazione dei Webservice:


foto permesso
foto permesso
Riga 54: Riga 54:
Una volta aperta la maschera di configurazione dei WS
Una volta aperta la maschera di configurazione dei WS


Selezionare il webservice desiderato che normalmente sarà in stato disattivato, contraddistinto quindi dall’icona foto icona blu .
Selezionare il webservice desiderato che normalmente sarà in stato disattivato, contraddistinto quindi dall’icona foto icona blu .
Cliccando su tale pulsante viene attivato il WS (il messaggio chiede se si vuole fare il deploy).
Cliccando su tale pulsante viene attivato il WS (il messaggio chiede se si vuole fare il deploy).
Al termine del deploy, che normalmente impiega qualche istante, l’icona indicherà lo stato attivo del WS foto icona verde .
Al termine del deploy, che normalmente impiega qualche istante, l’icona indicherà lo stato attivo del WS foto icona verde .


Per disattivare il WS cliccare sull’icona di stato attivo foto icona verde e dopo qualche istante il WS verrà disattivato.
Per disattivare il WS cliccare sull’icona di stato attivo foto icona verde e dopo qualche istante il WS verrà disattivato.


'''N.B.''' L’attivazione del WS da un qualsiasi ambiente di sicraweb, attiva il WS anche per le altre installazioni. Di conseguenza il WS si può attivare indifferentemente loggandosi dall’ambiente di produzione o dall’ambiente di test.
'''N.B.''' L’attivazione del WS da un qualsiasi ambiente di sicraweb, attiva il WS anche per le altre installazioni. Di conseguenza il WS si può attivare indifferentemente loggandosi dall’ambiente di produzione o dall’ambiente di test.


==Verifica web service attivo==
==Verifica web service attivo==
Si può verificare se il web service è attivo aprendo un browser e digitando l’indirizzo
Si può verificare se il web service è attivo aprendo un browser e digitando l’indirizzo
http://sicrawebappserver:50080/client/services/
http://sicrawebappserver:50080/client/services/
si avrà un risultato del tipo
si avrà un risultato del tipo


foto webservice attivi
foto webservice attivi
Riga 71: Riga 71:
==Risoluzione dei problemi==
==Risoluzione dei problemi==
===(401)Unauthorized o (404)NotFound===
===(401)Unauthorized o (404)NotFound===
(401)Unauthorized -> abilitare l’amministrazione remota dei Webservice
(401)Unauthorized -> abilitare l’amministrazione remota dei Webservice
Quando eseguendo il deploy o l’undeploy di un web service da un errore di autorizzazioni (ad es. (401)Unauthorized), il problema può essere legato al fatto che AXIS non è stato configurato per essere amministrato da remoto.
Quando eseguendo il deploy o l’undeploy di un web service da un errore di autorizzazioni (ad es. (401)Unauthorized), il problema può essere legato al fatto che AXIS non è stato configurato per essere amministrato da remoto.


Soluzione: Aprire il file ''$JBOSS_HOME\server\default\deploy\sicraweb.ear\sicraweb.war\WEB-INF\server-config.wsdd''
Soluzione: Aprire il file ''$JBOSS_HOME\server\default\deploy\sicraweb.ear\sicraweb.war\WEB-INF\server-config.wsdd''
Nella sezione relative all’AdminService di Axis:
Nella sezione relative all’AdminService di Axis:


<code>
<code>
Riga 89: Riga 89:


===namingException o null locale looking for (namingException)===
===namingException o null locale looking for (namingException)===
Nel logon descriptor è stato specificato un utente J2EE errato.
Nel logon descriptor è stato specificato un utente J2EE errato.


===Password Incorrect/Password Required===
===Password Incorrect/Password Required===
Nel logon descriptor è stato specificato un utente sicraweb è errato oppure la password è errata.
Nel logon descriptor è stato specificato un utente sicraweb è errato oppure la password è errata.


===Qual’è la porta in cui è in ascolto Tomcat?===
===Qual’è la porta in cui è in ascolto Tomcat?===
Aprire il file ''$JBOSS_HOME \server\default\deploy\jbossweb-tomcat50.sar\server.xml''
Aprire il file ''$JBOSS_HOME \server\default\deploy\jbossweb-tomcat50.sar\server.xml''


Riga 104: Riga 104:
</code>
</code>


oppure si può cercare nel log di JBoss la seguente riga: Starting Coyote HTTP
oppure si può cercare nel log di JBoss la seguente riga: Starting Coyote HTTP


<code>
<code>

Versione delle 15:39, 29 ago 2013

Come si raggiunge un webservice

Per l’invocazione del Web Service utilizzare la seguente sintassi: http://<hostname>:<port>/client/services/<webservice> dove: <hostname>: è il nome del Web Server in cui viene installato il web service; <port>: è la porta su cui è in ascolto il web service (porta di Tomcat); se la porta è quella standard HTTP, la 80, allora l’indicazione della porta può essere omessa; <webservice>: è il Web Service vero e proprio che espone le funzionalità. Per ottenere il WSDL del web service: http://<hostname>:<port>/client/services/<webservice>?wsdl

/client/services/: è il percorso dell’applicazione web associata al web service.

Esempio di URL: http://sicrawebappserver:50080/client/services/ProWSApi

Definire un Alias

Nel file sicraweb.server.config.xml presente nella cartella JBOSS_HOME\server\default\deploy\sicraweb.ear\server\signed-jars\conf.ig nella sezione <logon> inserire una sezione <alias ... /> come riportato nel seguente esempio:

 <logon>
   <alias name=”suap@sicraweb” j2eeusername=”sicraweb” j2eepassword=”sicraweb” username=”suap” password=”suap”/>
   <alias name=”suap@sicraweb_test” j2eeusername=”sicraweb_test” j2eepassword=”sicraweb_test” username=”suap” password=”suap”/>
 </logon>

ATTENZIONE: Controllare che nel file sicraweb.server.config.xml non esista già il tag <logon> </logon>. Se tale tag esiste, aggiungere i nuovi alias all’interno dei tag <logon> </logon> già presenti. Solitamente tali tag esistono per Anagrafe on line (AOL). E’ molto importante che nel file, anche dopo le modifiche, esista un solo tag <logon>.

In questo file di configurazione vanno configurate le credenziali da utilizzare per effettuare l'accesso tramite web service. Creare i due alias, uno per l’ambiente di produzione ed uno per l’ambiente di test. L’ alias name è il nome con cui il software che chiama il WS e indica su quale database andare ad inserire le informazioni trasmesse. Il j2eeusername e j2eepassword è la configurazione che viene data dai sistemisti in fase di installazione per identificare il database; la si può recuperare dal file JNLP di avvio di SicraWeb nella seguente sezione (vedi dati evidenziati):

 <application-desc main-class="it.saga.pubblici.menu.MnuCFGMain">
   <argument>jboss: sicrawebappserver:50080:1099</argument>
   <argument>sicraweb</argument>
   <argument>sicraweb</argument>
 </application-desc>

NOTA: verificare SEMPRE che ci sia corrispondenza tra l’utente j2ee indicato nel JNLP di lancio di sicraweb e quello indicato nella sezione <logon>.

Attivare un webservice

Per attivare il web service è sufficiente aprire la maschera presente in GESTIONE -> CONFIGURAZIONE -> SISTEMA -> WEBSERVICE. Se la voce di menù non è attiva, significa che l’utente che si sta usando è privo del permesso di configurazione dei Webservice:

foto permesso

Una volta aperta la maschera di configurazione dei WS

Selezionare il webservice desiderato che normalmente sarà in stato disattivato, contraddistinto quindi dall’icona foto icona blu . Cliccando su tale pulsante viene attivato il WS (il messaggio chiede se si vuole fare il deploy). Al termine del deploy, che normalmente impiega qualche istante, l’icona indicherà lo stato attivo del WS foto icona verde .

Per disattivare il WS cliccare sull’icona di stato attivo foto icona verde e dopo qualche istante il WS verrà disattivato.

N.B. L’attivazione del WS da un qualsiasi ambiente di sicraweb, attiva il WS anche per le altre installazioni. Di conseguenza il WS si può attivare indifferentemente loggandosi dall’ambiente di produzione o dall’ambiente di test.

Verifica web service attivo

Si può verificare se il web service è attivo aprendo un browser e digitando l’indirizzo http://sicrawebappserver:50080/client/services/ si avrà un risultato del tipo

foto webservice attivi

Risoluzione dei problemi

(401)Unauthorized o (404)NotFound

(401)Unauthorized -> abilitare l’amministrazione remota dei Webservice Quando eseguendo il deploy o l’undeploy di un web service da un errore di autorizzazioni (ad es. (401)Unauthorized), il problema può essere legato al fatto che AXIS non è stato configurato per essere amministrato da remoto.

Soluzione: Aprire il file $JBOSS_HOME\server\default\deploy\sicraweb.ear\sicraweb.war\WEB-INF\server-config.wsdd Nella sezione relative all’AdminService di Axis:

<service name="AdminService" provider="java:MSG">
 <parameter name="allowedMethods" value="AdminService"/>
 <parameter name="enableRemoteAdmin" value="false"/>
 <parameter name="className" value="org.apache.axis.utils.Admin"/>
 <namespace>http://xml.apache.org/axis/wsdd/</namespace>
</service>

Modificare il parametro enableRemoteAdmin portandolo a true. Riavviare JBoss per rendere esecutiva la modifica.

namingException o null locale looking for (namingException)

Nel logon descriptor è stato specificato un utente J2EE errato.

Password Incorrect/Password Required

Nel logon descriptor è stato specificato un utente sicraweb è errato oppure la password è errata.

Qual’è la porta in cui è in ascolto Tomcat?

Aprire il file $JBOSS_HOME \server\default\deploy\jbossweb-tomcat50.sar\server.xml

 <Connector port="8080" address="${jboss.bind.address}"
        maxThreads="200" minSpareThreads="25" maxSpareThreads="45"
        enableLookups="false" redirectPort="8443" acceptCount="40"
        connectionTimeout="2000" disableUploadTimeout="true"/>

oppure si può cercare nel log di JBoss la seguente riga: Starting Coyote HTTP

 10:39:30,601 INFO  [Tomcat5] Saw org.jboss.system.server.started notification, starting connectors
 10:39:30,618 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-0.0.0.0-8080

Voci correlate