Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 2543 by [email protected]: CxDx PPA and RTA Fail
http://code.google.com/p/mobicents/issues/detail?id=2543
What steps will reproduce the problem?
1. Try and receive the answer to a PPR or RTR in the SLEE
2.
3.
What is the expected output? What do you see instead?
The event should be sent to the SBB
I got:
2011-04-28 23:39:58,304 DEBUG
[org.jdiameter.server.impl.app.cxdx.CxDxServerSessionImpl] Failed to
process success message
org.jdiameter.api.InternalException: java.lang.ClassCastException:
org.jdiameter.common.impl.app.cxdx.JUserAuthorizationRequestImpl cannot be
cast to org.jdiameter.api.cxdx.events.JPushProfileAnswer
at
org.jdiameter.server.impl.app.cxdx.CxDxServerSessionImpl.handleEvent(CxDxServerSessionImpl.java:262)
at
org.jdiameter.server.impl.app.cxdx.CxDxServerSessionImpl$AnswerDelivery.run(CxDxServerSessionImpl.java:450)
at
org.jdiameter.common.impl.concurrent.DefaultRunnable.run(DefaultRunnable.java:20)
at
org.jdiameter.common.impl.concurrent.DefaultRunnable.run(DefaultRunnable.java:20)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.ClassCastException:
org.jdiameter.common.impl.app.cxdx.JUserAuthorizationRequestImpl cannot be
cast to org.jdiameter.api.cxdx.events.JPushProfileAnswer
at
org.jdiameter.server.impl.app.cxdx.CxDxServerSessionImpl.handleEvent(CxDxServerSessionImpl.java:232)
... 11 more
After changing
handleEvent(new Event(Event.Type.RECEIVE_PPA,
messageFactory.createUserAuthorizationRequest(request),
messageFactory.createUserAuthorizationAnswer(answer)));
to
handleEvent(new Event(Event.Type.RECEIVE_PPA,
messageFactory.createPushProfileRequest(request),
messageFactory.createPushProfileAnswer(answer)));
I then got:
2011-04-28 23:56:01,051 DEBUG
[org.jdiameter.server.impl.app.cxdx.CxDxServerSessionImpl] Failed to
process success message
org.jdiameter.api.InternalException: java.lang.ClassCastException:
org.jdiameter.common.impl.app.cxdx.JPushProfileRequestImpl cannot be cast
to org.jdiameter.api.cxdx.events.JPushProfileAnswer
at
org.jdiameter.server.impl.app.cxdx.CxDxServerSessionImpl.handleEvent(CxDxServerSessionImpl.java:262)
at
org.jdiameter.server.impl.app.cxdx.CxDxServerSessionImpl$AnswerDelivery.run(CxDxServerSessionImpl.java:450)
at
org.jdiameter.common.impl.concurrent.DefaultRunnable.run(DefaultRunnable.java:20)
at
org.jdiameter.common.impl.concurrent.DefaultRunnable.run(DefaultRunnable.java:20)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Which was sorted out by changing
listener.doPushProfileAnswer(this, null,
(JPushProfileAnswer)event.getData());
to
listener.doPushProfileAnswer(this, null,
(JPushProfileAnswer)localEvent.getAnswer());
What version of the product are you using? On what operating system?
jdiameter-impl-1.5.4.1-build415.jar
Please provide any additional information below.
Attachments:
CXDX.diff 2.0 KB