Retour Tableau De Chaînes

J'ai de la difficulté avec le retour de tableau de chaîne sur un environnement client et le serveur. Le résultat que j'obtiens est rien, quand j'ai compilé l'application client.

application serveur

public String[] getFlight() throws Exception {

     AvailableFlights todayFlight = new AvailableFlights();
    List<Flight> flights_today =  todayFlight.getFlightDetail();

    List<String> flights = new ArrayList<String>(); 

    try {
        flights_today = this.unmarshal(new File("Flights.xml"));

            for (Flight flight : flights_today) {
        String flightDetail = flight.getJourney() 
                    + " " + flight.getAirline() 
                    + " "+ String.valueOf(flight.getConnections())
                    + " "+ String.valueOf(flight.getCost())
                    + " "+ flight.getDestination()
                    + " "+ flight.getOrigin()
                    + " "+ String.valueOf(flight.getSeats()); 
                flights.add(flightDetail);
                System.out.println(flightDetail);
                }

      } catch (Exception e) {

      }

    return (String[]) flights.toArray();
 }

application java cliente

import org.me.kettravel.*;


public class JavaApplication5 {   

    public static void main(String[] args) {

        try {
    System.out.println(getFlight());
        } catch (Throwable ex) {          
        }   
    }

    private static java.util.List<java.lang.String> getFlight() throws Exception_Exception {
        org.me.kettravel.ReadFlightService service = new org.me.kettravel.ReadFlightService();
        org.me.kettravel.ReadFlight port = service.getReadFlightPort();
        return port.getFlight();
    }

En outre, j'ai essayé une petite expérience avec "bonjour" comme ci-dessous sur le serveur d'application et il a bien fonctionné, donc je sais que le service web fonctionne bien, mais je n'arrive pas à passer/retour les vols de tableau de Chaîne à l'application cliente.

String i = "hello"; 
return i;

PS: Quand j'essaye d'exécuter l'application serveur avec public static void main (String[] args) { constructeur et sans retour, l'application imprimé la liste de tableaux parfaitement de unmarshalling xml convertir en liste de tableaux et de faire system.out.print.

Je vous serais reconnaissant si quelqu'un pouvait éclairer car je suis vraiment bloqué sur ce. Merci.

04/01/2012 (19:16) - l'Ajustement a été fait suggéré par Genzer, le client app obtenez toujours pas de réponse de serveur d'application.

04/01/2012 (23:24) - l'Ajustement a été fait l'a suggéré Bohème peut être vu ci-dessous, le client app est maintenant d'obtenir une vérification d'erreur javax.xml.ws.soap.SOAPFaultException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;

public static void main(String[] args) {
    try {
        Object obj = getFlight();
System.out.println(obj);
    } catch (Throwable ex) { 
        System.out.println(ex);
    }   
}

06/01/2013 (16:20) - je vient de mon erreur que le fichier XML était vide à partir d'essais pour les tests, mais il est désormais avoir des données dans le fichier xml. Je viens de créer une classe de test pour voir si readFlight renvoie à une classe, que c'est dans un même projet/paquet source. Le résultat est une réussite... vraiment être à court d'idées =/comme je l'ai testé le service web par l'envoi d'un simple bonjour chaîne au client app et a fonctionné sans problème.

de la classe de test
public class test {

public static void main(String[] args) {

readFlight rF = new readFlight();

    try {
System.out.println(rF.getFlight());
    } catch (Throwable ex) { 
        System.out.println(ex);
    }       
}

}

De sortie à partir de la classe de test: [London to Amsterdam KLM 1 200.0 Amsterdam London 100, London to Kuala Lumper Malaysia Airline 1 750.0 Kuala Lumper London 100, London to Manchester British Airway 1 50.0 Manchester London 56]

10/01/2013 (18:13) - LE PROBLÈME EST RÉSOLU. Vous devez donner le répertoire complet de la unmarshall fichier. Exemple: C:/Users/User/Documents/NetBeansProjects/WebService/booking.xml

  • quel est le bloc de code commençant par String[] flights = new String[] { et se terminant avec for (String s: flights) faire?
  • Je suppose que c'est pour imprimer le tableau de chaîne de caractères pour moi de le vérifier pour voir si sa fonctionne ou pas. Donc, sans la Chaîne s: les vols et l'imprimer, je vais obtenir ce " [Ljava.lang.Chaîne;@312a47fe [Ljava.lang.Chaîne;@4edc8de9 [Ljava.lang.Chaîne;@71e8e471"
  • Votre code compilé? Puisque la méthode getFlight() est déclarée pour retourner un String, mais vous êtes de retour flights qui est un String[].
  • Vous le code compilé d'amende.
InformationsquelleAutor Ket | 2013-01-04