1

I am using following route to send SMS to multiple recipients.

@Component
public class SMSRoute extends RouteBuilder{
    
    List<String> recipientList = Arrays.asList("0512345678","0512345679");

    @Override
    public void configure() throws Exception {
        
        from("timer://myTimer?period=1000")
        .setHeader("CamelSmppDestAddr", simple(recipientList.toString()))
        .setBody()
        .simple("Hello World Camel fired at ${header.firedTime}")
        .to("smpp://smppclient@{{host}}:{{port}}?password={{password}}&systemId={{systemId}}&"
                + "transactionTimer=5000&systemType=70015" 
                + "&sourceAddr=JAVA&dataCoding=8&encoding=UTF-16BE&alphabet=8");
        //.to("stream:out");        
    }

}

When I try to run this code, camel consider the entire list as single number

023-05-03T11:41:43.691+03:00 DEBUG 4032 --- [timer://myTimer] o.a.c.c.smpp.SmppSubmitSmCommand : Sending short message 0 for exchange id '7C18C829419B90F-0000000000000000'... 2023-05-03T11:41:43.691+03:00 ERROR 4032 --- [timer://myTimer] o.a.c.p.e.DefaultErrorHandler : Failed delivery for (MessageId: 7C18C829419B90F-0000000000000000 on ExchangeId: 7C18C829419B90F-0000000000000000). Exhausted after delivery attempt: 1 caught: org.apache.camel.component.smpp.SmppException: org.jsmpp.PDUStringException: C-Octet String value '[05********, 05*********]' length must be less than 21. Actual length is 24

Message History (source location and message history is disabled)

Source ID Processor Elapsed (ms) route1/route1 from[timer://myTimer?period=1000] 1810519390 ... route1/to1 null 0

Stacktrace

org.apache.camel.component.smpp.SmppException: org.jsmpp.PDUStringException: C-Octet String value '[05********, 05*********]' length must be less than 21. Actual length is 24 at org.apache.camel.component.smpp.SmppSubmitSmCommand.execute(SmppSubmitSmCommand.java:79) ~[camel-smpp-4.0.0-M2.jar!/:4.0.0-M2] at org.apache.camel.component.smpp.SmppProducer.process(SmppProducer.java:181) ~[camel-smpp-4.0.0-M2.jar!/:4.0.0-M2] at org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:66) ~[camel-support-4.0.0-M2.jar!/:4.0.0-M2] at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:172) ~[camel-core-processor-4.0.0-M2.jar!/:4.0.0-M2] at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:474) ~[camel-core-processor-4.0.0-M2.jar!/:4.0.0-M2] at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:181) ~[camel-base-engine-4.0.0-M2.jar!/:4.0.0-M2] at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:59) ~[camel-base-engine-4.0.0-M2.jar!/:4.0.0-M2] at org.apache.camel.processor.Pipeline.process(Pipeline.java:164) ~[camel-core-processor-4.0.0-M2.jar!/:4.0.0-M2] at org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:378) ~[camel-base-engine-4.0.0-M2.jar!/:4.0.0-M2] at org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:210) ~[camel-timer-4.0.0-M2.jar!/:4.0.0-M2] at org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:76) ~[camel-timer-4.0.0-M2.jar!/:4.0.0-M2] at java.base/java.util.TimerThread.mainLoop(Timer.java:566) ~[na:na] at java.base/java.util.TimerThread.run(Timer.java:516) ~[na:na] Caused by: org.jsmpp.PDUStringException: C-Octet String value '[0571804118, 0505402810]' length must be less than 21. Actual length is 24 at org.jsmpp.util.StringValidator.validateString(StringValidator.java:42) ~[jsmpp-2.3.11.jar!/:2.3.11] at org.jsmpp.util.DefaultComposer.submitSm(DefaultComposer.java:213) ~[jsmpp-2.3.11.jar!/:2.3.11] at org.jsmpp.DefaultPDUSender.sendSubmitSm(DefaultPDUSender.java:224) ~[jsmpp-2.3.11.jar!/:2.3.11] at org.jsmpp.SynchronizedPDUSender.sendSubmitSm(SynchronizedPDUSender.java:189) ~[jsmpp-2.3.11.jar!/:2.3.11] at org.jsmpp.session.SubmitSmCommandTask.executeTask(SubmitSmCommandTask.java:86) ~[jsmpp-2.3.11.jar!/:2.3.11] at org.jsmpp.session.AbstractSession.executeSendCommand(AbstractSession.java:303) ~[jsmpp-2.3.11.jar!/:2.3.11] at org.jsmpp.session.SMPPSession.submitShortMessage(SMPPSession.java:346) ~[jsmpp-2.3.11.jar!/:2.3.11] at org.apache.camel.component.smpp.SmppSubmitSmCommand.execute(SmppSubmitSmCommand.java:59) ~[camel-smpp-4.0.0-M2.jar!/:4.0.0-M2] ... 12 common frames omitted

2023-05-03T11:41:43.691+03:00 WARN 4032 --- [timer://myTimer] o.a.camel.component.timer.TimerConsumer : Error processing exchange. Exchange[7C18C829419B90F-0000000000000000]. Caused by: [org.apache.camel.component.smpp.SmppException - org.jsmpp.PDUStringException: C-Octet String value '[05********, 05*********]' length must be less than 21. Actual length is 24]

org.apache.camel.component.smpp.SmppException: org.jsmpp.PDUStringException: C-Octet String value '[05********, 05*********]' length must be less than 21. Actual length is 24 at org.apache.camel.component.smpp.SmppSubmitSmCommand.execute(SmppSubmitSmCommand.java:79) ~[camel-smpp-4.0.0-M2.jar!/:4.0.0-M2] at org.apache.camel.component.smpp.SmppProducer.process(SmppProducer.java:181) ~[camel-smpp-4.0.0-M2.jar!/:4.0.0-M2] at org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:66) ~[camel-support-4.0.0-M2.jar!/:4.0.0-M2] at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:172) ~[camel-core-processor-4.0.0-M2.jar!/:4.0.0-M2] at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:474) ~[camel-core-processor-4.0.0-M2.jar!/:4.0.0-M2] at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:181) ~[camel-base-engine-4.0.0-M2.jar!/:4.0.0-M2] at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:59) ~[camel-base-engine-4.0.0-M2.jar!/:4.0.0-M2] at org.apache.camel.processor.Pipeline.process(Pipeline.java:164) ~[camel-core-processor-4.0.0-M2.jar!/:4.0.0-M2] at org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:378) ~[camel-base-engine-4.0.0-M2.jar!/:4.0.0-M2] at org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:210) ~[camel-timer-4.0.0-M2.jar!/:4.0.0-M2] at org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:76) ~[camel-timer-4.0.0-M2.jar!/:4.0.0-M2] at java.base/java.util.TimerThread.mainLoop(Timer.java:566) ~[na:na] at java.base/java.util.TimerThread.run(Timer.java:516) ~[na:na] Caused by: org.jsmpp.PDUStringException: C-Octet String value '[0571804118, 0505402810]' length must be less than 21. Actual length is 24 at org.jsmpp.util.StringValidator.validateString(StringValidator.java:42) ~[jsmpp-2.3.11.jar!/:2.3.11] at org.jsmpp.util.DefaultComposer.submitSm(DefaultComposer.java:213) ~[jsmpp-2.3.11.jar!/:2.3.11] at org.jsmpp.DefaultPDUSender.sendSubmitSm(DefaultPDUSender.java:224) ~[jsmpp-2.3.11.jar!/:2.3.11] at org.jsmpp.SynchronizedPDUSender.sendSubmitSm(SynchronizedPDUSender.java:189) ~[jsmpp-2.3.11.jar!/:2.3.11] at org.jsmpp.session.SubmitSmCommandTask.executeTask(SubmitSmCommandTask.java:86) ~[jsmpp-2.3.11.jar!/:2.3.11] at org.jsmpp.session.AbstractSession.executeSendCommand(AbstractSession.java:303) ~[jsmpp-2.3.11.jar!/:2.3.11] at org.jsmpp.session.SMPPSession.submitShortMessage(SMPPSession.java:346) ~[jsmpp-2.3.11.jar!/:2.3.11] at org.apache.camel.component.smpp.SmppSubmitSmCommand.execute(SmppSubmitSmCommand.java:59) ~[camel-smpp-4.0.0-M2.jar!/:4.0.0-M2] ... 12 common frames omitted*

My expectation is to send SMS to multiple recipients via Route using Apache Camel SMPP

DevThiman
  • 920
  • 1
  • 9
  • 24
dilip
  • 19
  • 1
  • 3

0 Answers0