|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2009
Messaggi: 700
|
[Java Spring] Problema creazione web service
Ciao ragazzi,
per un progetto universitario ho creato una web application in Spring che semplicemente consente ad un operatore di inserire determinati dati all'interno di un DB tramite un form. Ora a questa web application devo integrare un web service sempre fatto in Spring che funziona circa così: 1) Un utente si connette al web service 2) Il web service effettua una query e restituisce all'utente i dati presenti nel database in un file XML Il WS si appoggia su AXIS 2 credo... Ho effettuato le seguenti operazioni ma ho problemi a deployare la mia applicazione da quando gli ho aggiunto il web service: 1) Classe PoiServiceWS che gestisce il web serivce: semplicemente tramite un oggetto DAO accede ai dati e li mette in una collezione che poi restituisce Codice:
package integration;
import dao.PoiDao;
import domain.POI;
import org.springframework.remoting.jaxrpc.ServletEndpointSupport;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/* Classe che implementa il web service */
public class PoiServiceWS extends ServletEndpointSupport {
private PoiDao poiDAO; // Dichiaro una variabile di tipo PoiDao generico
/* Metodo chiamato per effettuare l'inizializzazione personalizzata dopo che
* è stato specificato il contesto */
protected void onInit() {
poiDAO = (PoiDao)getWebApplicationContext().getBean("poiDAO");
}
/* Metodo che restituisce tutti i POI */
public List<HashMap>allPois(){
// Crea una lista di generici ogetti POI
List<POI> results = new ArrayList<POI>();
//if(id!=null&&!id.equals(""))
// results=poiDAO.getPoi(id);
//else
/* Mette dentro result il riferimento ad una lista di POI restituita dal
* metodo getListPoi del DAO */
results = poiDAO.getListPoi();
// Crea una lista di oggetti generici di tipo HashMap (chiave, valore)
List<HashMap> mappaOut=new ArrayList<HashMap>();
// Per ogni oggetto poi contenuto nella lista result
for(POI poi:results){
// Crea un nuovo oggetto mappaPoi di tipo HashMap (chiave, valore)
HashMap mappaPoi=new HashMap();
// Setta i campi dell'oggetto mappaPoi appena creato
mappaPoi.put("nome",poi.getNome());
mappaPoi.put("lat",poi.getLat());
mappaPoi.put("lon",poi.getLon());
mappaPoi.put("alt",poi.getAlt());
mappaPoi.put("tipologia",poi.getTipologia());
mappaPoi.put("wikilink",poi.getWikiLink());
//mappaPoi.put("poiId",poi.getPoiId()); ?!?!
mappaPoi.put("id",poi.getId());
// Aggiungi l'oggetto Hash Map appena creato alla lista dei POI
mappaOut.add(mappaPoi);
}
// Ritorna al chiamante la lista che contiene gli ogetti HashMap che rappresentano i POI
return mappaOut;
}
}
Codice:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>redirect.jsp</welcome-file>
</welcome-file-list>
<!-- Parte relativa al web service -->
<display-name>Apache-Axis</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<display-name>Apache-Axis Servlet</display-name>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
</servlet>
<servlet>
<display-name>Axis Admin Servlet</display-name>
<servlet-name>AdminServlet</servlet-name>
<servlet-class>org.apache.axis.transport.http.AdminServlet</servlet-class>
<load-on-startup>100</load-on-startup>
</servlet>
<servlet>
<display-name>SOAPMonitorService</display-name>
<servlet-name>SOAPMonitorService</servlet-name>
<servlet-class>org.apache.axis.monitor.SOAPMonitorService</servlet-class>
<init-param>
<param-name>SOAPMonitorPort</param-name>
<param-value>5101</param-value>
</init-param>
<load-on-startup>100</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/servlet/AxisServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>*.jws</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SOAPMonitorService</servlet-name>
<url-pattern>/SOAPMonitor</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AdminServlet</servlet-name>
<url-pattern>/servlet/AdminServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<mime-mapping>
<extension>wsdl</extension>
<mime-type>text/xml</mime-type>
</mime-mapping>
</web-app>
Codice:
GRAVE: WebModule[/InsertPoi]Error loading WebappClassLoader (delegate=true; repositories=WEB-INF/classes/) org.apache.axis.transport.http.AdminServlet
java.lang.ClassNotFoundException: org.apache.axis.transport.http.AdminServlet
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
..............................
.............................
Grazie Andrea |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:10.



















