Conflitto web.xml struts2 e axis2

di il
4 risposte

Conflitto web.xml struts2 e axis2

Ciao a tutti,
sto sviluppando una web app utilizzando l'IDE Eclipse, TomCat7 e il framework struts2. Il mio problema è che volendo creare un web service che mi espone delle funzionalità con axis2 non riesco a risolvere dei conflitti tra i due framework.

Ho provato a creare il web service da una classe java tramite il wizard di eclipse, ma mi viene restituito l'errore: "selection must be wsdl".
Ho quindi provato ad eliminare dal web.xml i filtri di struts e tramite il wizard sono riuscito a creare il web service.
Ora se provo a deployare il tutto, ovviamente funziona il web service ma non la web app con struts. Se riaggiungo nel web.xml i filtri di struts mi funziona la parte di struts e non il web service.
Il problema credo sia negli <url-pattern> dei due framework, che sono:
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
e
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>

Qualcuno sa come posso risolvere?
grazie

4 Risposte

  • Re: Conflitto web.xml struts2 e axis2

    Secondo me la tua web app è meglio che la programmi in PHP
  • Re: Conflitto web.xml struts2 e axis2

    roberto.p89 ha scritto:


    Il problema credo sia negli <url-pattern> dei due framework, che sono:
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
    e
    <servlet-name>AxisServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>

    Qualcuno sa come posso risolvere?
    grazie
    Roberto, anche se non uso Struts2, credo ti serva il "excludePattern", vedi qui:


    nella sezione "Why the Filter is mapped with /* and how to configure explicit exclusions (since 2.1.7)"

    Prova e fai sapere il risultato.
  • Re: Conflitto web.xml struts2 e axis2

    Grazie andbin,
    già avevo provato ad utilizzare l'exclude pattern ma non mi funzionava. Finalmente ho trovato la sintassi corretta per i servizi di axis2. Se dovesse servire a qualcuno eccola:

    <constant name="struts.action.excludePattern" value="/services/.*"></constant>
  • Re: Conflitto web.xml struts2 e axis2

    roberto.p89 ha scritto:


    Se dovesse servire a qualcuno eccola:

    <constant name="struts.action.excludePattern" value="/services/.*"></constant>
    Ok, corretta. La documentazione ufficiale (qui) infatti precisa che il value deve contenere: "a comma separated list of regular expressions"

    Pertanto .* significa appunto "zero o più caratteri qualunque".
Devi accedere o registrarti per scrivere nel forum
4 risposte