从过去的8个月开始,我们的一切都运转良好,突然间我们开始收到此错误。
我们在Oracle EM控制台中配置了SMPP驱动程序属性,并使用与Oracle SOA服务器集成的UMS发送SMS。
找到与此错误相关的链接,但它没有帮助:
https://support.nowsms.com/discus/messages/485/1176.html
[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。
网络日志(使用Wireshark):
答案 0 :(得分:0)
我们找出并解决了这个问题。在这里发布其决议。也许它可以帮助别人,节省宝贵的时间。
在Oracle EM控制台中配置的SMPP驱动程序存在一个错误,即使您从驱动程序配置传递它,源地址和默认源地址也始终为空。
这是由于SMSC的多个源地址,我们的系统传递了null 源地址字段中的值。由于这个SMSC不能 识别正确的源地址并抛出“无效的来源” 地址"异常。
如果在SMSC配置了单/静态源地址,那么你可以 传递空值,SMSC将自动识别源地址。