Differenze tra le versioni di "Webservice"

Da wiki.maggioli.it.
Jump to navigation Jump to search
imported>Demos
imported>Demos
(Redirect alla pagina Webservices)
 
(14 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
{{MenuGestione}}
#REDIRECT [[Webservices]]
[[File:Webservices 0000.png]]
<br>
 
 
==Introduzione==
La seguente guida illustra come attivare i webservices da Sicr@Web senza necessità di accesso al server.
<br>
Al momento di redazione di questo manuale, per poter effettuare le configurazioni dall’applicativo è necessario aver installato la versione '''Autenticazione 3.0.11.0.0''' o superiore.
<br>
La configurazione di alias e webservices è protetta dai seguenti permessi:
<br>
<i class="fa fa-key" aria-hidden="true" style="color:#FFCC00;"></i> ''Autenticazione -> Gestione dei logon alias''
<br>
<i class="fa fa-key" aria-hidden="true" style="color:#FFCC00;"></i> ''Common -> Configurazione Web Services''
<br>
<br>
<br>
 
==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
<br>
<br>
 
==Configurazione di un Alias==
La configurazione degli alias è accessibile tramite la voce di menù '''Gestione -> Configurazione -> Sistema -> Autenticazione -> Configurazione Logon Alias'''.
<br>
[[File:Webservices 001.png|Configurazione Logon Alias]]
<br>
<br>
 
 
Una volta selezionata la voce ''Configurazione logon alias'' si aprirà la seguente griglia che permette di definire gli alias necessari o visualizzare quelli già attualmente presenti, come da immagine che segue:
<br>
[[File:Webservices 002.png|Configurazione Logon Alias]]
<br>
<br>
La prima colonna corrisponde al parametro '' '''Alias''' '' che viene specificato nella chiamata e va comunicato all’utilizzatore del Webservices. E’ univoco a livello di server ed è obbligatorio.
<br>
<br>
''Username'' e ''Password'' sono facoltativi e devono essere compilati solamente se il webservices richiede la presenza di un utente applicativo specifico. Per sapere se è richiesto l’utente è necessario fare riferimento alla produzione.
<br>
L’utente deve necessariamente essere definito prima di creare l’alias. Evitare di utilizzare utenti di sistema ''(Setup, Administrator, etc…)''. Si consiglia di definire utenti specifici per il Webservice.
<br>
<br>
La maschera permette di creare alias solo per l’ambiente a cui è stato effettuato l’accesso.
<br>
<br>
<br>
 
==Attivare un webservice==
Per attivare il web service è sufficiente aprire la maschera presente in '''Gestione -> Configurazione -> Sistema -> Webservice'''.
<br>
Se la voce di menù non è attiva, significa che l’utente che si sta usando è privo del permesso di configurazione dei Webservice:
<br>
'''foto permesso'''
<br>
La maschera presenta un elenco di tutti i webservices attivabili. Se non è possibile individuare il webservice richiesto è necessario richiedere una nuova chiave d’attivazione.
<br>
[[File:Webservices 004.png|Attivazione Webservices]]
<br>
<br>
Per attivare il Webservice desiderato ''(i webservices sono spenti di default)'', evidenziarlo e cliccare il pulsante [[File:Webservices 006.png|Attivazione Webservices|baseline]]
<br>
Un messaggio di conferma chiederà se si desidera effettuare il deploy.
<br>
Al termine del deploy, che di norma impiega qualche istante, l’icona indicherà lo stato attivo [[File:Webservices 005.png|Attivazione Webservices|baseline]]
<br>
Per visualizzare l’URL per la chiamata, è sufficiente effettuare un doppio click sul punto indicato dalla stellina [[File:Webservices 007.png|Attivazione Webservices]] nella immagine di esempio sopra riportata.
<br>
<br>
Nel caso in cui si desideri disattivare il webservices, sarà sufficiente cliccare sulla icona [[File:Webservices 005.png|Attivazione Webservices|baseline]] e dopo qualche istante questo tornerà nello status di disattivato [[File:Webservices 006.png|Attivazione Webservices|baseline]].
<br>
<br>
'''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.
<br>
<br>
 
==Verifica web service attivo==
E' possibile verificare se il web service è attivo aprendo un browser all'indirizzo ''(di esempio)'' http://sicrawebappserver:50080/client/services/
<br>
Si otterrà in questo modo una lista di tutti i webservices attualmente attivi.
<br>
<br>
 
==Risoluzione dei problemi==
===(401)Unauthorized===
(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:
 
<code>
<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>
</code>
 
Modificare il parametro ''enableRemoteAdmin''  portandolo a ''true''. Riavviare JBoss per rendere esecutiva la modifica.
 
===(404)NotFound===
(404)NotFound -> La pagina non è stata trovata
 
I motivi possono essere:
<br>1) Axis non è installato
<br>2) La prima porta specificata nel JNLP di lancio non combacia con la porta in cui è in ascolto Tomcat:
 
Soluzione punto 2:
Verifcare nel JNLP che la porta in grassetto sia quella in cui Tomcat è in ascolto
<code>
  <application-desc main-class="it.saga.pubblici.menu.MnuCFGMain">
    <argument>jboss:sicrawebapplocalserver:'''50080''':50002</argument>
    <argument>nomeDatabase</argument>
    <argument>nomeDatabase</argument>
  </application-desc>
</code>
 
Nel caso, correggerla
 
===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''
 
<code>
  <Connector port="8080" address="${jboss.bind.address}"
        maxThreads="200" minSpareThreads="25" maxSpareThreads="45"
        enableLookups="false" redirectPort="8443" acceptCount="40"
        connectionTimeout="2000" disableUploadTimeout="true"/>
</code>
 
oppure si può cercare nel log di JBoss la seguente riga: Starting Coyote HTTP
 
<code>
  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
</code>
 
== Axis è configurato? ==
Per verificare se Axis è configurato prire il file:
 
%JBOSS_HOME%\server\default\deploy\sicraweb.ear\sicraweb.war\WEB-INF\web.xml
 
Dovrebbe esserci una sezione in cui è dichiarato il servlet di AXIS: AxisServlet
<code>
  <servlet>
    <servlet-name>AxisServlet</servlet-name>
    <display-name>Apache-Axis Servlet</display-name>
    <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
  </servlet>
</code>
 
Per verificare se il servlet che gestisce i web service è funzionante collegarsi all’indirizzo:
 
http://hostname:port/client/services
 
dove port=porta di tomcat
Ad esempio: http://sicrawebappserver:50080/client/services
 
== Voci correlate ==
* [[CmnFRMWebServiceAdmin|Amministrazione Webservice]]

Versione attuale delle 10:41, 3 lug 2017

Reindirizza a: