Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Axis2 - Errore nella generazione dello Stub da WSDL

    Salve, sono alle prime armi con i webservices.
    Vi spiego la situazione.
    A partire dal WSDL di un webservice, attraverso le librerie AXIS2, son riuscito a generarmi lo stub per invocare il webservice.
    Ho creato poi una classe che istanzia un oggetto dello stub ed utilizza poi i relativi metodi.
    Provando ad eseguire il main della classe creata ottengo la seguente eccezione:

    codice:
    Exception in thread "main" java.lang.AbstractMethodError: org.apache.axiom.om.impl.llom.OMAttributeImpl.setAttributeType(Ljava/lang/String;)V 	at org.apache.axiom.om.impl.builder.StAXBuilder.processAttributes(StAXBuilder.java:230) 	at org.apache.axiom.om.impl.builder.StAXOMBuilder.populateOMElement(StAXOMBuilder.java:396) 	at org.apache.axiom.om.impl.builder.StAXOMBuilder.createOMElement(StAXOMBuilder.java:425) 	at org.apache.axiom.om.impl.builder.StAXOMBuilder.createNextOMElement(StAXOMBuilder.java:282) 	at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:207) 	at org.apache.axiom.om.impl.llom.OMDocumentImpl.getOMDocumentElement(OMDocumentImpl.java:138) 	at org.apache.axiom.om.impl.builder.StAXOMBuilder.getDocumentElement(StAXOMBuilder.java:502) 	at org.apache.axis2.util.XMLUtils.toOM(XMLUtils.java:602) 	at org.apache.axis2.util.XMLUtils.toOM(XMLUtils.java:581) 	at org.apache.axis2.deployment.DescriptionBuilder.buildOM(DescriptionBuilder.java:97) 	at org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigBuilder.java:88) 	at org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(DeploymentEngine.java:703) 	at org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration(FileSystemConfigurator.java:116) 	at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:64) 	at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(ConfigurationContextFactory.java:206) 	at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:150) 	at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:143)

    Se provo a generare il file .aar (sempre attraverso AXIS2) ed effettuo il deploy nella cartella webapps\axis2\WEB-INF\services di Tomcat, il servizio viene correttamente riconosciuto, ma quando cerco di eseguirlo, il browser mi mostra questa risposta:

    codice:
    <soapenv:Reason> − <soapenv:Text xml:lang="en-US"> The endpoint reference (EPR) for the Operation not found is /axis2/services/InvioTelematicoSanitaServiceStub and the WSA Action = null </soapenv:Text> </soapenv:Reason>

    Sembrerebbe che non riesca a contattare l'endpoint (che all'interno del codice Java è comuqnue cablato). Non ho capito però il perchè dell'eccezione generata (Exception in thread "main" java.lang.AbstractMethodError: org.apache.axiom.om.impl.llom.OMAttributeImpl.setA ttributeType(Ljava/lang/StringV ).

    Utilizzo:
    Eclipse 3.30
    Apache Tomcat 5.5
    AXIS2
    jdk1.6.0_23

    Sono grato a chiunque possa darmi una mano o consigliarmi in qualche modo.
    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    sembra che ci sia un conflitto tra le librerie, quelle che includi nel tuo progetto e quelle che sono incluse in tomcat.
    Perché usi tomcat 5.5 e axis2 (che sta diventando obsoleta)?

  3. #3
    Cosa mi consiglieresti al posto di Tomcat e Axis2? Comunque in eclipse ho importato queste librerie:

    Axiom-api 1.2.8
    Axiom-impl-1.2.1
    Axis2 1.5.4
    Axis2 Kernel 1.5.4
    commons-logging 1.1.1
    commons-logging 1.1.1-javadoc
    commons-logging 1.1.1-sources
    commons-logging-api-1.1.1
    commons-logging-adapters-1.1.1
    commons-logging-test
    neethi-2.0.2
    ojdbc14
    qname
    wsdl4j
    xmlSchema 1.4

    Forse qualche libreria di troppo? Però ne ho aggiunte così perchè avevo inizialmente errori di compilazione del tipo class not found. Adesso questi errori sembrano scomparsi ma restano quelli descritti al primo post.

    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    devi controllare che non ci siano doppioni di librerie (stessa libreria in tomcat e nella tua web root) e soprattutto che le versioni di quello che hai siano tra loro compatibili. Da quelle che mi hai detto (che non so da dove prendi) non capisco nulla.
    Di tomcat ci sono versioni più recenti, se proprio devo usarlo almeno prendo quella più recente.

    Inoltre a volte capita che includere una libreria per far compilare da eclipse generi confusione su tomcat, quindi il vecchio metodo compila a manina e deploya il war su tomcat resta per me il migliore (perché rispecchia una situazione reale)

    La mia domanda sul perché presuppone che tu abbia fatto una scelta con logica, non perché la guida che hai trovato diceva così oppure perché va di moda.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.