说明
经过一番调查后,我们发现submit_sm请求中的发件人地址为空,这导致问题"无效 来源地址" 。现在出现的问题是,在SMPP驱动程序配置设置中已经配置了发件人请求时,为什么发件人地址为空?我们需要在其他地方配置发件人地址吗?是否有配置文件来配置此设置?
REFERENCE SCREENSHOTS:
SMPP驱动程序特定配置:
消息状态(短信故障日志):
后端错误日志:
[2017-10-17T10:33:16.806 + 05:30] [WLS_SOA] [错误] [SDP-25700] [oracle.sdp.messaging.driver.smpp] [tid:Workmanager :,版本:0, Scheduled = false,Started = false,等待时间:0 ms \ n] [userId: OracleSystemUser] [ecid: 49d20b62a8084325:-5336381e:15f247fea2f:-8000-000000000001c322,0] [APP: usermessagingdriver-smpp]发现了一个意外的异常。[[ oracle.sdp.messaging.driver.DriverException:无效的源地址[a] 在 oracle.sdpinternal.messaging.driver.smpp.SMPPDriver.send(SMPPDriver.java:1073) 在 oracle.sdpinternal.messaging.driver.smpp.SMPPDriver.send(SMPPDriver.java:3268) 在 oracle.sdpinternal.messaging.driver.smpp.SMPPDriver.send(SMPPDriver.java:2849) 在 oracle.sdpinternal.messaging.driver.smpp.SMPPDriver.send(SMPPDriver.java:2724) 在 oracle.sdpinternal.messaging.driver.smpp.SMPPManagedConnection.send(SMPPManagedConnection.java:95) 在 oracle.sdpinternal.messaging.driver.DriverConnectionImpl.send(DriverConnectionImpl.java:41) 在 oracle.sdpinternal.messaging.dispatcher.DriverDispatcherBean.onMessage(DriverDispatcherBean.java:296) at sun.reflect.GeneratedMethodAccessor1629.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:606)at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) 在 com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) 在 com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) 在 com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) 在 com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) 在 com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) 在 com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) 在 com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) 在 com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) 在com.sun.proxy。$ Proxy532.onMessage(未知来源)at oracle.sdpinternal.messaging.dispatcher.DriverDispatcherBean_xfokw2_MDOImpl .__ WL_invoke(未知 来源)at weblogic.ejb.container.internal.MDOMethodInvoker.invoke(MDOMethodInvoker.java:35) 在 oracle.sdpinternal.messaging.dispatcher.DriverDispatcherBean_xfokw2_MDOImpl.onMessage(未知 来源)at oracle.sdpinternal.messaging.jmsmessagereceiver.ResourceAdapterImpl $ RaMessageListener.onMessage(ResourceAdapterImpl.java:167) 在 oracle.sdpinternal.messaging.jms.QueueWorker.run(QueueWorker.java:73) 在 weblogic.work.j2ee.J2EEWorkManager $ WorkWithListener.run(J2EEWorkManager.java:184) 在weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)]] [2017-10-17T10:33:16.807 + 05:30] [WLS_SOA] [通知] [SDP-26003] [oracle.sdp.messaging.driver.dispatcher] [tid:Workmanager :,版本: 0,Scheduled = false,Started = false,等待时间:0 ms \ n] [userId: OracleSystemUser] [ecid: 49d20b62a8084325:-5336381e:15f247fea2f:-8000-000000000001c322,0] [APP: usermessagingdriver-smpp] Dispatcher发送了带有id的消息: eb50c4cdc0a800ab12d5fbbdbbbbd46a。
答案 0 :(得分:1)
我们找出并解决了这个问题。在这里发布其决议。也许它可以帮助别人,节省宝贵的时间。
在Oracle EM控制台中配置的SMPP驱动程序存在一个错误,即使您从驱动程序配置传递它,源地址和默认源地址也始终为空。
这是由于SMSC的多个源地址而我们的系统是 在源地址字段中传递空值。由于这个SMSC不是 能够识别正确的源地址并抛出“无效的来源” 地址"异常。
如果在SMSC配置了单/静态源地址,那么你可以 传递空值,SMSC将自动识别源地址。