Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di gas84
    Registrato dal
    Nov 2007
    Messaggi
    18

    RemoteException nell'invocare un Web Service

    Ciao a tutti!
    Stavo scrivendo un programma oggi (anzi da giorni) che deve invocare un metodo pubblicato su un web service (tramite Apache Tomcat ecc...). Anticipo che nn è la prima volta che lo faccio! Ma oggi andando ad eseguire il programma (ancora incompleto) mi è stata lanciata l'eccezione: RemoteException!

    Qualcuno sa dirmi da cosa può essere causata?

    allego la classe che mi da l'eccezione...

    import com.cloudgarden.layout.AnchorConstraint;
    import com.cloudgarden.layout.AnchorLayout;
    import com.mysql.jdbc.exceptions.MySQLIntegrityConstraint ViolationException;

    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.rmi.RemoteException;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;
    import javax.swing.WindowConstants;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.ServiceException;

    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;

    public class Registrazione extends javax.swing.JFrame {
    private JPanel Registrazione;
    private JLabel NameLabel;
    private JLabel CognomeLabel;
    private JTextField Cognome;
    private JTextField Indirizzo;
    private JLabel IndEMLabel;
    private JPasswordField NuovaPass;
    private JLabel NuovaPassLab;
    private JLabel IDLabel;
    private JTextField UsernameR;
    private JLabel NuovaUsernameLabel;
    private JButton RegistrerLog;
    private JTextField ID;
    private JTextField Nome;

    public Registrazione() {
    initGUI();
    }

    private void initGUI() {
    try {
    setDefaultCloseOperation(WindowConstants.EXIT_ON_C LOSE);
    setTitle("Registrazione nuovo Cliente");
    {

    Registrazione = new JPanel();
    getContentPane().add(Registrazione, BorderLayout.CENTER);
    AnchorLayout RegistrazioneLayout = new AnchorLayout();
    Registrazione.setLayout(RegistrazioneLayout);
    Registrazione.setPreferredSize(new java.awt.Dimension(497, 392));
    }
    {
    NuovaPass = new JPasswordField();
    Registrazione.add(NuovaPass, new AnchorConstraint(308, 890, 384, 579, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
    NuovaPass.setPreferredSize(new java.awt.Dimension(154, 28));
    NuovaPass.setText("");
    }
    {
    NuovaPassLab = new JLabel();
    Registrazione.add(NuovaPassLab, new AnchorConstraint(212, 777, 308, 579, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
    NuovaPassLab.setText("Nuova Password");
    NuovaPassLab.setPreferredSize(new java.awt.Dimension(98, 35));
    }
    {
    NuovaUsernameLabel = new JLabel();
    Registrazione.add(NuovaUsernameLabel, new AnchorConstraint(20, 777, 97, 579, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
    NuovaUsernameLabel.setText("Nuova Username");
    NuovaUsernameLabel.setPreferredSize(new java.awt.Dimension(98, 28));
    }
    {
    UsernameR = new JTextField();
    Registrazione.add(UsernameR, new AnchorConstraint(116, 890, 193, 579, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
    UsernameR.setPreferredSize(new java.awt.Dimension(154, 28));
    UsernameR.setText("max 11 caratteri");
    }
    {
    RegistrerLog = new JButton();
    Registrazione.add(RegistrerLog, new AnchorConstraint(787, 664, 864, 353, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
    RegistrerLog.setText("Registra");
    RegistrerLog.setPreferredSize(new java.awt.Dimension(154, 28));
    RegistrerLog.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
    String messaggio="";
    try {
    Call call = (Call) new Service().createCall();
    call.setTargetEndpointAddress(new URL(
    "http://localhost:8080/axis/services/"));
    call.setOperationName(new QName(
    "Richiamo","query"));
    Object rispostaWS = call.invoke(new Object[]{Nome.getText(), Cognome.getText(),UsernameR.getText(),NuovaPass.ge tPassword().toString(),ID.getText(),Indirizzo.getT ext()});
    int result = ( (Integer)rispostaWS ).intValue();
    messaggio = "il Web service ha fornito il seguente risultato: "+ result;
    if(result==0){
    try { salvaSuFile(UsernameR.getText(),NuovaPass.getPassw ord().toString());
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    HomePage hp=new HomePage();
    }else{
    JOptionPane.showMessageDialog(Registrazione, "Cambiare username!","ERRORE",JOptionPane.INFORMATION_MESSAG E);
    }
    } catch (MalformedURLException ex) {
    messaggio = "errore: l'url non è esatta";
    } catch (ServiceException ex) {
    messaggio = "errore: la creazione della chiamata è fallita";
    } catch (RemoteException ex) {
    messaggio = "errore: l'invocazione del WS è fallita";
    } finally {
    System.out.println(messaggio);
    }
    }

    });
    }
    {
    IDLabel = new JLabel();
    Registrazione.add(IDLabel, new AnchorConstraint(442, 367, 519, 43, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
    IDLabel.setText("Codice fiscale");
    IDLabel.setPreferredSize(new java.awt.Dimension(161, 28));
    }
    {
    ID = new JTextField();
    Registrazione.add(ID, new AnchorConstraint(538, 367, 615, 43, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
    ID.setPreferredSize(new java.awt.Dimension(161, 28));
    }
    {
    IndEMLabel = new JLabel();
    Registrazione.add(IndEMLabel, new AnchorConstraint(442, 734, 519, 579, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
    IndEMLabel.setText("Indirizzo E-Mail");
    IndEMLabel.setPreferredSize(new java.awt.Dimension(77, 28));
    }
    {
    Indirizzo = new JTextField();
    Registrazione.add(Indirizzo, new AnchorConstraint(538, 960, 615, 579, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
    Indirizzo.setPreferredSize(new java.awt.Dimension(189, 28));
    }
    {
    Cognome = new JTextField();
    Registrazione.add(Cognome, new AnchorConstraint(308, 325, 384, 43, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
    Cognome.setPreferredSize(new java.awt.Dimension(140, 28));
    }
    {
    CognomeLabel = new JLabel();
    Registrazione.add(CognomeLabel, new AnchorConstraint(212, 198, 308, 43, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
    CognomeLabel.setText("Cognome");
    CognomeLabel.setPreferredSize(new java.awt.Dimension(77, 35));
    }
    {
    NameLabel = new JLabel();
    Registrazione.add(NameLabel, new AnchorConstraint(38, 226, 113, 43, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
    NameLabel.setText("Nome");
    NameLabel.setPreferredSize(new java.awt.Dimension(91, 28));
    }
    {
    Nome = new JTextField();
    Registrazione.add(Nome, new AnchorConstraint(116, 325, 193, 43, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
    Nome.setPreferredSize(new java.awt.Dimension(140, 28));
    }
    pack();
    this.setSize(504, 413);
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    private void salvaSuFile(String u, String p)throws IOException {
    PrintWriter pw=new PrintWriter(new FileWriter("src/registration.txt"));
    String s=u +" "+p;
    pw.println(s);
    pw.close();
    }
    }

  2. #2
    più che la classe serve l'eccezione; meglio: il messaggio SOAP restituito.
    Ivan Venuti
    Vuoi scaricare alcuni articoli sulla programmazione, pubblicati su riviste di informatica? Visita http://ivenuti.altervista.org/articoli.htm. Se vuoi imparare JavaScript leggi il mio libro: http://www.fag.it/scheda.aspx?ID=21754 !

  3. #3
    Utente di HTML.it L'avatar di gas84
    Registrato dal
    Nov 2007
    Messaggi
    18

    ecco l'eccezione

    Non so a quale eccezione ti riferisci.cmq quella che mi da nella console di eclipse è questa:

    AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
    faultSubcode:
    faultString: java.lang.NullPointerException
    faultActor:
    faultNode:
    faultDetail:
    {http://xml.apache.org/axis/}hostname:computer

    java.lang.NullPointerException
    at org.apache.axis.message.SOAPFaultBuilder.createFau lt(SOAPFaultBuilder.java:221)
    at org.apache.axis.message.SOAPFaultBuilder.endElemen t(SOAPFaultBuilder.java:128)
    at org.apache.axis.encoding.DeserializationContext.en dElement(DeserializationContext.java:1087)
    at org.apache.xerces.parsers.AbstractSAXParser.endEle ment(Unknown Source)
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl.sc anEndElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerI mpl$FragmentContentDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerI mpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse (Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse (Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse( Unknown Source)
    at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser .parse(Unknown Source)
    at javax.xml.parsers.SAXParser.parse(Unknown Source)
    at org.apache.axis.encoding.DeserializationContext.pa rse(DeserializationContext.java:227)
    at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPar t.java:696)
    at org.apache.axis.Message.getSOAPEnvelope(Message.ja va:424)
    at org.apache.axis.handlers.soap.MustUnderstandChecke r.invoke(MustUnderstandChecker.java:62)
    at org.apache.axis.client.AxisClient.invoke(AxisClien t.java:206)
    at org.apache.axis.client.Call.invokeEngine(Call.java :2765)
    at org.apache.axis.client.Call.invoke(Call.java:2748)
    at org.apache.axis.client.Call.invoke(Call.java:2424)
    at org.apache.axis.client.Call.invoke(Call.java:2347)
    at org.apache.axis.client.Call.invoke(Call.java:1804)
    at FormIniziale$1.actionPerformed(FormIniziale.java:6 4)
    at javax.swing.AbstractButton.fireActionPerformed(Unk nown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed (Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed (Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent( Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(U nknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unkno wn Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForHierar chy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarch y(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

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.