Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过SMPP发送多条短信_Java_Sms Gateway_Smpp - Fatal编程技术网

Java 通过SMPP发送多条短信

Java 通过SMPP发送多条短信,java,sms-gateway,smpp,Java,Sms Gateway,Smpp,我将直截了当地回答我的问题 我正在使用Logica smpp,我想向多个号码发送短信。下面的代码给出了异常 public void submitMulti() { String serviceType = ""; byte replaceIfPresentFlag = 0; String scheduleDeliveryTime = null; String validityPeriod = null; byte esmClass = 0; //#################

我将直截了当地回答我的问题

  • 我正在使用Logica smpp,我想向多个号码发送短信。下面的代码给出了异常

    public void submitMulti() {
    String serviceType = "";        
    byte replaceIfPresentFlag = 0;
    String scheduleDeliveryTime = null;
    String validityPeriod = null;
    byte esmClass = 0;
    //######################
    //byte protocolId = 0;
    //byte dataCoding = 0;
    byte protocolId = 0; //0x00; commented is for flash
    byte dataCoding = (byte) 0x08; //0x18
    byte smsClass = 0x00;
    //######################
    byte ton = 1;
    byte npi = 1;
    byte priorityFlag = 0;
    byte registeredDelivery = 0;   //TODO registered delivery
    byte smDefaultMsgId =  (byte) 12; //0;
    try {
        SubmitMultiSM request = new SubmitMultiSM();
        SubmitMultiSMResp response;
    
        // input values and set some :-)
        String sourceAddress = "123456789012";
        int numberOfDestination = 10;
        for (int i = 0; i < numberOfDestination; i++) {
            request.addDestAddress(new DestinationAddress(new Address(ton,npi,"923458503302")));
        }
    
        // set other values
        request.setServiceType(serviceType);
        request.setSourceAddr(sourceAddress);
        request.setReplaceIfPresentFlag(replaceIfPresentFlag);
        request.setShortMessage("Hy");
        request.setScheduleDeliveryTime(scheduleDeliveryTime);
        request.setValidityPeriod(validityPeriod);
        request.setEsmClass(esmClass);
        request.setProtocolId(protocolId);
        request.setPriorityFlag(priorityFlag);
        request.setRegisteredDelivery(registeredDelivery);
        request.setDataCoding(dataCoding);
        request.setSmDefaultMsgId(smDefaultMsgId);
        String ipAddress = Bundle.getInstance().getValue(Bundle.Application_Contants.IP_ADDRESS.toString());
        int port = Integer.valueOf(Bundle.getInstance().getValue(Bundle.Application_Contants.PORT.toString()));
        long receiveTimeOut = Long.valueOf(Bundle.getInstance().getValue(Bundle.Application_Contants.RECEIVE_TIMEOUT.toString()));
    
        TCPIPConnection connection = new TCPIPConnection(ipAddress,port);
        connection.setReceiveTimeout(receiveTimeOut);
        customSession = new Session(connection);
    
    
        // send the request
        System.out.println("Submit Multi request " + request.debugString());
        if (!asynchronous) {
            customSession.submitMulti(request);
        } else {
            response = customSession.submitMulti(request);
            System.out.println("Submit Multi response " + response.debugString());
            messageId = response.getMessageId();
        }
    
    } catch (Exception e) {
        log.error(e,e);
        System.out.println("Submit Multi operation failed. " + e.getMessage());
    } finally {
    }
    

    有人知道吗?

    假设您的代码充当ESME,在发送任何SubmitSM、SubmitMultiSM或DataSM之前,必须发送绑定请求(通过BindTransmiter或BindTransciever)。

    现在它没有显示任何错误。但是消息没有传递到指定的目的地(msisdn)。至于第二个问题:(1)所有的目的地号码都是相同的。我会尝试使用独特的目的地进行测试。(2) 绑定请求必须具有有效的用户名/密码组合。我会检查response对象,看看bind请求是否被接受。非常感谢它现在可以工作了。由于运营商出现了一些问题,我尝试了另一个运营商的其他msisdn,它像一个魔咒一样工作,使用相同的msisdn没有问题。再次感谢。还有一个问题是,并非所有SMSC都支持
    submit\u multi
    。连接类型是什么?t、r或tr?
    java.lang.NullPointerException
    at org.smpp.Session.send(Session.java:1100)
    at org.smpp.Session.send(Session.java:1173)
    at org.smpp.Session.submitMulti(Session.java:727)
    at com.noetic.topUpBooster.smpp.JarConnection.submitMulti(JarConnection.java:413)
    at com.noetic.sdp.alerts.JarCheck.run(JarCheck.java:34)
    Submit Multi operation failed. null