2017-10-26 10 views
5

설명 :트리거 SMS sdpmessagingdriver - SMPP 드라이버 구성 설정에서하지 받고 보낸 사람 주소

  • 우리는이 SMS 메시지를 보낼 수 있도록 SOA 서버 에 배포 sdpmessagingdriver - SMPP 드라이버를 사용하고 있습니다.
  • SMPP 드라이버 속성을 "보낸 사람 주소"& "기본 보낸 사람 주소"로 구성했습니다.
  • SMS를 보내려고하면 " 소스 주소가 잘못되었습니다"라는 오류 메시지와 함께 실패합니다.

몇 가지 조사 후 우리는 SUBMIT_SM 요청에서 보낸 사람 주소가 문제를 "잘못된 원본 주소"의 원인이되는, null 인 것으로 나타났다. 이제 SMPP 드라이버 구성 설정에서 Sender Address가 이미 구성되어있을 때 Sender Address가 전송 요청에서 비어있는 이유가 생깁니다. 보낸 사람 주소를 다른 곳에서 구성해야합니까? 이 설정을 구성 할 구성 파일이 있습니까?

참조 스크린 샷 :

SMPP 드라이버 특정 구성 :

  • 당신은 볼 수 보낸 사람 주소기본 보낸 사람 주소 구성에서 제공됩니다.

enter image description here

메시지 상태 (SMS 오류 로그) : 쇼 아래에 제공

  • 스크린 샷 빈 보낸 사람 주소로 SMS 메시지를 실패했습니다.

enter image description here

백엔드 오류 로그 :

[2017-10-17T10 : 33 : 16.806 + 05 : 30] [WLS_SOA [ERROR] SDP-25700] [사용자 ID : ] [ecid : 49d20b62a8084325 : 0, 예약 됨 = false, 시작됨 = false, 대기 시간 : 0 ms \ n] [사용자 ID : OracleSystemUser] -5336381e : 15f247fea2f : -8000-000000000001c322,0] [APP : usermessagingdriver-SMPP 예기치 않은 예외 잡힌] [[ oracle.sdp.messaging.driver.DriverException :. 잘못된 원본 주소 [A] oracle.sdpinternal.messaging.driver.smpp.SMPPDriver.send에서 (SMPPDriver.java : 1073) at oracle.sdpinternal.messaging.driver.smpp. oracle.sdpinternal.messaging.driver.smpp.SMPPDriver.send에서 SMPPDriver.send oracle.sdpinternal.messaging.driver.smpp.SMPPDriver.send (SMPPDriver.java:2849)에서 (SMPPDriver.java:3268) ( oracle.sdpinternal.messaging.driver.DriverConnectionImpl.send에서 oracle.sdpinternal.messaging.driver.smpp.SMPPManagedConnection.send (SMPPManagedConnection.java:95) 에서 SMPPDriver.java:2724) (DriverConnectionImpl.java:41) sun.reflect.DelegatingMethodAccessorImpl.in에서 sun.reflect.GeneratedMethodAccessor1629.invoke (알 소스)에 oracle.sdpinternal.messaging.dispatcher.DriverDispatcherBean.onMessage (DriverDispatcherBean.java:296) 에서 voke (DelegatingMethodAccessorImpl.java:43) at 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 AT) ) com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed ( com.bea.core.repackaged.springframework.aop.framework에서 com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke (ExposeInvocationInterceptor.java:89) 에서 ReflectiveMethodInvocation.java:149) . 반사적 방법 nvocation.proceed com.bea.core.repackaged.springframework에서 com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed (DelegatingIntroductionInterceptor.java:131) 에서 (ReflectiveMethodInvocation.java:171). aop.support.DelegatingIntroductionInterceptor.invoke com.bea.core에서 com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:171) 에서 (DelegatingIntroductionInterceptor.java:119). (com.sun.proxy에서) $ Proxy532.onMessage (알 수없는 소스) ( ) oracle.sdpinternal.messaging.dispatcher.Drive에서 replacaged.springframework.aop.framework.aop.framework.JdkDynamicAopProxy.invoke (JdkDynamicAopProxy.java:204) . 오라클 oracle.sdpinternal.messaging.dispatcher.DriverDispatcherBean_xfokw2_MDOImpl.onMessage (알 소스)에 rDispatcherBean_xfokw2_MDOImpl .__ WL_invoke weblogic.ejb.container.internal.MDOMethodInvoker.invoke (MDOMethodInvoker.java:35)에서 (알 소스) .sdpinternal.messaging.jmsmessagereceiver.ResourceAdapterImpl $ RaMessageListener.onMessage oracle.sdpinternal.messaging.jms.QueueWorker.run (QueueWorker.java:73)에서 (ResourceAdapterImpl.java:167) 에서 weblogic.work.j2ee.J2EEWorkManager $ WorkWithListener.run (J2EEWorkManager.java:184) at weblogic.work.DaemonWorkThread.run (DaemonWorkThread.java30)]] [2017-10-17T1] 0 : 33 : 16.807 + 05 : 30] [WLS_SOA] [알림] [SDP-26003] [oracle.sdp.messaging.driver.dispatcher] [tid : Workmanager :, 버전 : 0, 예약 됨 = 거짓 잠깐 시간 : 0 MS \ n] [userId를 : OracleSystemUser] ECID : 49d20b62a8084325 : -5336381e : 15f247fea2f : -8000-000000000001c322,0]는 APP : usermessagingdriver-SMPP] 디스패처 ID로 메시지를 보내 eb50c4cdc0a800ab12d5fbbdbbbbd46a .

답변

1

이 문제를 파악하여 해결했습니다. 여기에 결의안을 게시하십시오. 다른 사람을 도울 수 있고 소중한 시간을 절약 할 수 있습니다.

Oracle EM 콘솔에 구성된 SMPP 드라이버에는 드라이버 구성에서 전달한 원본 주소와 기본 원본 주소가 항상 null 인 버그가 있습니다.

은 SMSC 여러 소스 주소 때문 우리의 시스템은 소스 주소 필드에 null 값을 전달 했다. 이 때문에 SMSC는 올바른 소스 주소를 인식하고 "잘못된 소스 주소"를 던질 수있는 이 아닙니다.

단일/정적 원본 주소가 SMSC에서 구성된 경우 null 값을 전달할 수 있으며 SMSC는 원본 주소를 자동으로 인식합니다.