IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

problème avec SMSlib


Sujet :

avec Java

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2010
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 172
    Points : 85
    Points
    85
    Par défaut problème avec SMSlib
    Bonjour,

    Je veux envoyer des sms via mon modem GSM vers des telephone ...bref j'ai utilisé le code de SMSlib le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
     
    // SendMessage.java - Sample application.
    //
    // This application shows you the basic procedure for sending messages.
    // You will find how to send synchronous and asynchronous messages.
    //
    // For asynchronous dispatch, the example application sets a callback
    // notification, to see what's happened with messages.
     
    package examples.modem;
     
    import org.smslib.AGateway;
    import org.smslib.IOutboundMessageNotification;
    import org.smslib.Library;
    import org.smslib.OutboundMessage;
    import org.smslib.Service;
    import org.smslib.modem.SerialModemGateway;
     
    public class SendMessage
    {
    	public void doIt() throws Exception
    	{
    		OutboundNotification outboundNotification = new OutboundNotification();
    		System.out.println("Example: Send message from a serial gsm modem.");
    		System.out.println(Library.getLibraryDescription());
    		System.out.println("Version: " + Library.getLibraryVersion());
    		SerialModemGateway gateway = new SerialModemGateway("modem.com1", "COM4", 115200, "Huawei", "");
    		gateway.setInbound(true);
    		gateway.setOutbound(true);
    		gateway.setSimPin("0000");
    		// Explicit SMSC address set is required for some modems.
    		// Below is for VODAFONE GREECE - be sure to set your own!
    		gateway.setSmscNumber("+306942190000");
    		Service.getInstance().setOutboundMessageNotification(outboundNotification);
    		Service.getInstance().addGateway(gateway);
    		Service.getInstance().startService();
    		System.out.println();
    		System.out.println("Modem Information:");
    		System.out.println("  Manufacturer: " + gateway.getManufacturer());
    		System.out.println("  Model: " + gateway.getModel());
    		System.out.println("  Serial No: " + gateway.getSerialNo());
    		System.out.println("  SIM IMSI: " + gateway.getImsi());
    		System.out.println("  Signal Level: " + gateway.getSignalLevel() + " dBm");
    		System.out.println("  Battery Level: " + gateway.getBatteryLevel() + "%");
    		System.out.println();
    		// Send a message synchronously.
    		OutboundMessage msg = new OutboundMessage("306974000000", "Hello from SMSLib!");
    		Service.getInstance().sendMessage(msg);
    		System.out.println(msg);
    		// Or, send out a WAP SI message.
    		//OutboundWapSIMessage wapMsg = new OutboundWapSIMessage("306974000000",  new URL("http://www.smslib.org/"), "Visit SMSLib now!");
    		//Service.getInstance().sendMessage(wapMsg);
    		//System.out.println(wapMsg);
    		// You can also queue some asynchronous messages to see how the callbacks
    		// are called...
    		//msg = new OutboundMessage("309999999999", "Wrong number!");
    		//srv.queueMessage(msg, gateway.getGatewayId());
    		//msg = new OutboundMessage("308888888888", "Wrong number!");
    		//srv.queueMessage(msg, gateway.getGatewayId());
    		System.out.println("Now Sleeping - Hit <enter> to terminate.");
    		System.in.read();
    		Service.getInstance().stopService();
    	}
     
    	public class OutboundNotification implements IOutboundMessageNotification
    	{
    		public void process(AGateway gateway, OutboundMessage msg)
    		{
    			System.out.println("Outbound handler called from Gateway: " + gateway.getGatewayId());
    			System.out.println(msg);
    		}
    	}
     
    	public static void main(String args[])
    	{
    		SendMessage app = new SendMessage();
    		try
    		{
    			app.doIt();
    		}
    		catch (Exception e)
    		{
    			e.printStackTrace();
    		}
    	}
    }
    j'ai creé donc un projet sous Eclipse IDE et j'ai ajouté : Java Comm v2,Apache Ant,log4j-1.2.15.jar,commons-net-2.0.jar,jsmpp-2.1.0.jar dans leurs emplacement
    comme le montre le site du SMSlib (http://smslib.org/doc/installation/)...bref.

    mon problème c'est que je ne sais pas comment ajouter toutes les classes et les bibliothèque nécessaire pour le fonctionnent de ce code dans Eclipse ? car le fichier que j'ai téléchargé est plein de package et de classes .... ...bref si quelqu'un à une idée ....quelle sont les étape à suivre pour ajouter tout les packages et les classe nécessaire. pour ce code????


    NB: je travail sous Win7 64bit


    Merci d'avance pour vos repense les gas

    A+

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 086
    Points : 7 997
    Points
    7 997
    Par défaut
    Bizarre moi quand je telecharge smslib j'ai juste un jar que j'ajoute dans le build path et hop ca fonctionne. De quel fichier téléchargé parles-tu ?

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2010
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 172
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Bizarre moi quand je telecharge smslib j'ai juste un jar que j'ajoute dans le build path et hop ca fonctionne. De quel fichier téléchargé parles-tu ?
    Bonjour,

    je vous explique comment j'ai fais pour me corriger :

    1- j'ai téléchargé le jar(smslib-3.5.0) de smslib sur le lien suivant http://smslib.org/maven2/v3/org/smslib/smslib/3.5.4/


    2-j'ai crée un projet sur Eclipse avec la classe SendMessage et voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
     
    // SendMessage.java - Sample application.
    //
    // This application shows you the basic procedure for sending messages.
    // You will find how to send synchronous and asynchronous messages.
    //
    // For asynchronous dispatch, the example application sets a callback
    // notification, to see what's happened with messages.
     
    package examples.modem;
     
    import org.smslib.AGateway;
    import org.smslib.IOutboundMessageNotification;
    import org.smslib.Library;
    import org.smslib.OutboundMessage;
    import org.smslib.Service;
    import org.smslib.modem.SerialModemGateway;
     
    public class SendMessage
    {
    	public void doIt() throws Exception
    	{
    		OutboundNotification outboundNotification = new OutboundNotification();
    		System.out.println("Example: Send message from a serial gsm modem.");
    		System.out.println(Library.getLibraryDescription());
    		System.out.println("Version: " + Library.getLibraryVersion());
    		SerialModemGateway gateway = new SerialModemGateway("modem.com1", "COM4", 115200, "Huawei", "");
    		gateway.setInbound(true);
    		gateway.setOutbound(true);
    		gateway.setSimPin("0000");
    		// Explicit SMSC address set is required for some modems.
    		// Below is for VODAFONE GREECE - be sure to set your own!
    		gateway.setSmscNumber("+306942190000");
    		Service.getInstance().setOutboundMessageNotification(outboundNotification);
    		Service.getInstance().addGateway(gateway);
    		Service.getInstance().startService();
    		System.out.println();
    		System.out.println("Modem Information:");
    		System.out.println("  Manufacturer: " + gateway.getManufacturer());
    		System.out.println("  Model: " + gateway.getModel());
    		System.out.println("  Serial No: " + gateway.getSerialNo());
    		System.out.println("  SIM IMSI: " + gateway.getImsi());
    		System.out.println("  Signal Level: " + gateway.getSignalLevel() + " dBm");
    		System.out.println("  Battery Level: " + gateway.getBatteryLevel() + "%");
    		System.out.println();
    		// Send a message synchronously.
    		OutboundMessage msg = new OutboundMessage("306974000000", "Hello from SMSLib!");
    		Service.getInstance().sendMessage(msg);
    		System.out.println(msg);
    		// Or, send out a WAP SI message.
    		//OutboundWapSIMessage wapMsg = new OutboundWapSIMessage("306974000000",  new URL("http://www.smslib.org/"), "Visit SMSLib now!");
    		//Service.getInstance().sendMessage(wapMsg);
    		//System.out.println(wapMsg);
    		// You can also queue some asynchronous messages to see how the callbacks
    		// are called...
    		//msg = new OutboundMessage("309999999999", "Wrong number!");
    		//srv.queueMessage(msg, gateway.getGatewayId());
    		//msg = new OutboundMessage("308888888888", "Wrong number!");
    		//srv.queueMessage(msg, gateway.getGatewayId());
    		System.out.println("Now Sleeping - Hit <enter> to terminate.");
    		System.in.read();
    		Service.getInstance().stopService();
    	}
     
    	public class OutboundNotification implements IOutboundMessageNotification
    	{
    		public void process(AGateway gateway, OutboundMessage msg)
    		{
    			System.out.println("Outbound handler called from Gateway: " + gateway.getGatewayId());
    			System.out.println(msg);
    		}
    	}
     
    	public static void main(String args[])
    	{
    		SendMessage app = new SendMessage();
    		try
    		{
    			app.doIt();
    		}
    		catch (Exception e)
    		{
    			e.printStackTrace();
    		}
    	}
    }
    3-j'ai téléchargé Java Communications Library,Apache ANT,Apache log4j,Apache Jakarta Commons - NET,JSMPP Library ...et j'ai les mis comme
    c'est expliqué sur le lien suivant http://smslib.org/doc/installation/

    4- Pour ajouter le jar que j'ai téléchargé à mon projet j'ai fais comme ça clique droit sur le projet Build path ---> add External Archives

    5- j'ai lancé la classe SendMessage voici l'erreur que j'ai eu :

    Example: Send message from a serial gsm modem.
    SMSLib: A Java API library for sending and receiving SMS via a GSM modem or other supported gateways.
    This software is distributed under the terms of the Apache v2.0 License.
    Web Site: http://smslib.org
    Version: 3.5.0
    log4j:ERROR Could not read configuration file [log4j.properties].
    java.io.FileNotFoundException: log4j.properties (Le fichier spécifié est introuvable)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileInputStream.<init>(Unknown Source)
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:372)
    at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:403)
    at org.smslib.helper.Logger.<init>(Logger.java:50)
    at org.smslib.helper.Logger.<clinit>(Logger.java:29)
    at org.smslib.Service.listSystemInformation(Service.java:113)
    at org.smslib.Service.initializeService(Service.java:103)
    at org.smslib.Service.<init>(Service.java:95)
    at org.smslib.Service.<clinit>(Service.java:90)
    at examples.modem.SendMessage.doIt(SendMessage.java:33)
    at examples.modem.SendMessage.main(SendMessage.java:78)
    log4j:ERROR Ignoring configuration file [log4j.properties].
    log4j:WARN No appenders could be found for logger (smslib).
    log4j:WARN Please initialize the log4j system properly.
    log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
    org.smslib.GatewayException: Comm library exception: java.lang.RuntimeException: javax.comm.NoSuchPortException
    at org.smslib.modem.SerialModemDriver.connectPort(SerialModemDriver.java:102)
    at org.smslib.modem.AModemDriver.connect(AModemDriver.java:114)
    at org.smslib.modem.ModemGateway.startGateway(ModemGateway.java:189)
    at org.smslib.Service$1Starter.run(Service.java:275)



    Est-ce que vous pouvez me dire pourquoi sa fonctionne pas ????

    Merci d'avance pour la réponse

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 086
    Points : 7 997
    Points
    7 997
    Par défaut
    Parce que tu n'as pas choisi le bon port (comme l'erreur l'indique clairement).

    D'ou à tu sortis ces paramètres en fait ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SerialModemGateway gateway = new SerialModemGateway("modem.com1", "COM4", 115200, "Huawei", "");

  5. #5
    Membre régulier
    Inscrit en
    Décembre 2010
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 172
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Parce que tu n'as pas choisi le bon port (comme l'erreur l'indique clairement).

    D'ou à tu sortis ces paramètres en fait ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SerialModemGateway gateway = new SerialModemGateway("modem.com1", "COM4", 115200, "Huawei", "");

    OK merci c'est réglé en faite c’était juste un problème de port comme vous l'avez indiqué ..tout marche très bien ...

    mais juste y a un petit problème comme même quand j'envoie un message je ne peux pas envoyé un deuxieme juste aprés je dois fermer le programme et le ouvrire pour que sa marche ... !!! est-ce que vous pouvez me dire pourquoi ???

  6. #6
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 086
    Points : 7 997
    Points
    7 997
    Par défaut
    Non pas sans code.

    (Et au fait on écrit : "Quand même" et pas "Comme même"... qu'avez vous tous à écrire ainsi )

  7. #7
    Membre régulier
    Inscrit en
    Décembre 2010
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 172
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Non pas sans code.

    (Et au fait on écrit : "Quand même" et pas "Comme même"... qu'avez vous tous à écrire ainsi )

    Bonjour,

    Merci pour la correction d’orthographe ..

    j'ai utilisé le même code que j'ai mis là dessus sauf que j'ai entré mes paramètre bien sur le numéro du port .. smsc voici exactement ce que j'ai modifié
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SerialModemGateway gateway = new SerialModemGateway("modem.com3", "COM3", 921600, "HSPA", "29");
    		gateway.setInbound(true);                        //("modem.com1", "COM4", 115200, "Huawei", "");   
    		gateway.setOutbound(true);
    		gateway.setSimPin("0000");

    voici les information du modem que j'ai utilisé :

    Modem Information:
    Manufacturer: HSPA
    Model: 29
    Serial No: 356121053488460
    SIM IMSI: ** MASKED **
    Signal Level: -51 dBm
    Battery Level: 100%

    1- la question que je me pose est pourquoi je ne peux pas envoyé un 2eme msg juste après avoir envoyé le premier ? pour ce faire je dois fermer le programme et le relancer de nouveau ..genre remettre à zero ...RESET ????

    Merci encore pour les réponses

    A+

  8. #8
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 086
    Points : 7 997
    Points
    7 997
    Par défaut
    Non mais la le code est pas suffisant tu n'as pas mis la boucle juste l'init... pour le moment j'imagine que tu fais une boucle dans laquelle tu ferme le truc... donc pas de 2 ème envoi.

  9. #9
    Membre régulier
    Inscrit en
    Décembre 2010
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 172
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Non mais la le code est pas suffisant tu n'as pas mis la boucle juste l'init... pour le moment j'imagine que tu fais une boucle dans laquelle tu ferme le truc... donc pas de 2 ème envoi.
    Bonjour,

    Mais comment je fais pour rénitialiser le port pour que je puisse envoyé un deuxième msg sans fermer le programme est ce que y a un code qui me permet de remettre à zero tout ce qui faut mettre à zéro ??? ou bien initialiser de nouveau le port ..bref je suppose que c'est à cause du port non..?


    Merci encore pour la réponse

    A+

  10. #10
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 086
    Points : 7 997
    Points
    7 997
    Par défaut
    Pas de code, pas de réponses possible.

  11. #11
    Membre régulier
    Inscrit en
    Décembre 2010
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 172
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Pas de code, pas de réponses possible.
    Bonjour,

    j'ai finalement réglé ce petit problème c'est bon tout marche trés bien !! c’était juste problème mettre fin à la classe Service ...

    Merci encore pour le aide que vous m'avez apporté

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo