Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

BlackBerry Push Development

Reply
BlackBerry Development Advisor (Retired)
gbeukeboom
Posts: 2,559
Registered: ‎10-16-2009
My Carrier: Bell

Re: net.rim.pushsdk.commons.PushSDKException: SocketTimeoutException caught sending message to PPG URL address

That's very odd. What does the stack trace include? And to confirm, you are testing both scenarios on the same server and Apache instance?

Garett
@garettBeuk
--
Goodbye everybody!
Please use plain text.
Contributor
budiman_lai
Posts: 21
Registered: ‎03-09-2011

Re: net.rim.pushsdk.commons.PushSDKException: SocketTimeoutException caught sending message to PPG URL address

[ Edited ]

Hi gbeukeboom,

 

For previous error

ERROR: Was unable to add a push application for the Sample Push Initiator due to the following reason:
DataAccessException caught finding application by id: 3xxx-8l1xxxxxxxxxxxxxx
The logs should be consulted for a full stack trace.

 

I fix this error by editing file mysql.properties (in sample-push-initiator/WEB-INF/classes). I'm replace all table name from upercase to lowercase. Table name is case sensitive between Windows and Unix platform. I'm download bpss for linux platform and install on Centos. For development I download bpss for windows version. Maybe you can fix this issue.

 

After this issue solved, I can open my sample-push-initiator or debug-portal web and my client app (Push API Sample from push SDK sample) successfully register (HTTP response: rc=200 and message "Command 'register' executed successfully" in View Log menu).

 

But, when i try to send push I get error:

Push message was invalid. The request was rejected by the PPG because it was invalid in some way or the message was not understood. (i.e. malformed push request, invalid format or missing mandatory fields in message, malformed XML or using unsupported elements/attributes in the XML , no active subscribers to push to, daily quota exceeded, invalid port number specified, specifying a notify URL when it wasn't expected by the PPG, etc... Please check application log files for more information.

 

And bellow is PushSDK Log. Please advice 

 

Jan 08,2013 09:30:05 ERROR - [net.rim.pushsdk.pap.PapServiceImpl.push()] - BadMessageException caught:
BadMessageException ( net.rim.pushsdk.pap.unmarshal.BadMessageException: <?xml version="1.0"?>
<!DOCTYPE pap PUBLIC "-//WAPFORUM//DTD PAP 2.1//EN" "http://www.openmobilealliance.org/tech/DTD/pap_2.1.dtd"><pap><badmessage-response code="2000" desc="deliver-before-timestamp has already expired" bad-message-fragment="deliver-before-timestamp has already expired"/></pap> badMessageResponse = BadMessageResponse ( PapMessage ( net.rim.pushsdk.pap.unmarshal.BadMessageResponse@3b621fe6 pushId = null ) code = 2000 description = deliver-before-timestamp has already expired badMessageFragment = deliver-before-timestamp has already expired ) )
at net.rim.pushsdk.pap.unmarshal.PapMessageUnmarshaller.parseBadMessageResponse(PapMessageUnmarshaller.java:242)
at net.rim.pushsdk.pap.unmarshal.PapMessageUnmarshaller.unmarshal(PapMessageUnmarshaller.java:187)
at net.rim.pushsdk.pap.PapServiceImpl.push(PapServiceImpl.java:156)
at net.rim.pushsdk.push.PushServiceImpl.push(PushServiceImpl.java:233)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy21.push(Unknown Source)
at net.rim.pushsdk.debugportal.push.PushDataPushController.processSubmit(PushDataPushController.java:94)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:421)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:136)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:326)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:313)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:554)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:636)
Jan 08,2013 09:30:05 ERROR - [net.rim.pushsdk.push.PushServiceImpl.push()] - BadMessageException caught:
BadMessageException ( net.rim.pushsdk.pap.unmarshal.BadMessageException: <?xml version="1.0"?>
<!DOCTYPE pap PUBLIC "-//WAPFORUM//DTD PAP 2.1//EN" "http://www.openmobilealliance.org/tech/DTD/pap_2.1.dtd"><pap><badmessage-response code="2000" desc="deliver-before-timestamp has already expired" bad-message-fragment="deliver-before-timestamp has already expired"/></pap> badMessageResponse = BadMessageResponse ( PapMessage ( net.rim.pushsdk.pap.unmarshal.BadMessageResponse@3b621fe6 pushId = null ) code = 2000 description = deliver-before-timestamp has already expired badMessageFragment = deliver-before-timestamp has already expired ) )
at net.rim.pushsdk.pap.unmarshal.PapMessageUnmarshaller.parseBadMessageResponse(PapMessageUnmarshaller.java:242)
at net.rim.pushsdk.pap.unmarshal.PapMessageUnmarshaller.unmarshal(PapMessageUnmarshaller.java:187)
at net.rim.pushsdk.pap.PapServiceImpl.push(PapServiceImpl.java:156)
at net.rim.pushsdk.push.PushServiceImpl.push(PushServiceImpl.java:233)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy21.push(Unknown Source)
at net.rim.pushsdk.debugportal.push.PushDataPushController.processSubmit(PushDataPushController.java:94)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:421)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:136)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:326)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:313)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:554)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:636)
Jan 08,2013 09:30:05 ERROR - [net.rim.pushsdk.debugportal.push.PushDataPushController.processSubmit()] - PushSDKException caught:
net.rim.pushsdk.commons.PushSDKException: BadMessageException ( net.rim.pushsdk.pap.unmarshal.BadMessageException: <?xml version="1.0"?>
<!DOCTYPE pap PUBLIC "-//WAPFORUM//DTD PAP 2.1//EN" "http://www.openmobilealliance.org/tech/DTD/pap_2.1.dtd"><pap><badmessage-response code="2000" desc="deliver-before-timestamp has already expired" bad-message-fragment="deliver-before-timestamp has already expired"/></pap> badMessageResponse = BadMessageResponse ( PapMessage ( net.rim.pushsdk.pap.unmarshal.BadMessageResponse@3b621fe6 pushId = null ) code = 2000 description = deliver-before-timestamp has already expired badMessageFragment = deliver-before-timestamp has already expired ) )
at net.rim.pushsdk.push.PushServiceImpl.push(PushServiceImpl.java:237)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy21.push(Unknown Source)
at net.rim.pushsdk.debugportal.push.PushDataPushController.processSubmit(PushDataPushController.java:94)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:421)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:136)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:326)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:313)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:554)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:636)
Caused by: BadMessageException ( net.rim.pushsdk.pap.unmarshal.BadMessageException: <?xml version="1.0"?>
<!DOCTYPE pap PUBLIC "-//WAPFORUM//DTD PAP 2.1//EN" "http://www.openmobilealliance.org/tech/DTD/pap_2.1.dtd"><pap><badmessage-response code="2000" desc="deliver-before-timestamp has already expired" bad-message-fragment="deliver-before-timestamp has already expired"/></pap> badMessageResponse = BadMessageResponse ( PapMessage ( net.rim.pushsdk.pap.unmarshal.BadMessageResponse@3b621fe6 pushId = null ) code = 2000 description = deliver-before-timestamp has already expired badMessageFragment = deliver-before-timestamp has already expired ) )
at net.rim.pushsdk.pap.unmarshal.PapMessageUnmarshaller.parseBadMessageResponse(PapMessageUnmarshaller.java:242)
at net.rim.pushsdk.pap.unmarshal.PapMessageUnmarshaller.unmarshal(PapMessageUnmarshaller.java:187)
at net.rim.pushsdk.pap.PapServiceImpl.push(PapServiceImpl.java:156)
at net.rim.pushsdk.push.PushServiceImpl.push(PushServiceImpl.java:233)
... 46 more

Please use plain text.
BlackBerry Development Advisor (Retired)
gbeukeboom
Posts: 2,559
Registered: ‎10-16-2009
My Carrier: Bell

Re: net.rim.pushsdk.commons.PushSDKException: SocketTimeoutException caught sending message to PPG URL address

From the error message:

desc="deliver-before-timestamp has already expired"

 

You need to set the timestamp to a time in the future.

Garett
@garettBeuk
--
Goodbye everybody!
Please use plain text.
Regular Contributor
mdicesare
Posts: 78
Registered: ‎04-28-2010
My Carrier: Rogers

Re: net.rim.pushsdk.commons.PushSDKException: SocketTimeoutException caught sending message to PPG URL address

@budiman_lai

 


budiman_lai wrote:

 

I fix this error by editing file mysql.properties (in sample-push-initiator/WEB-INF/classes). I'm replace all table name from upercase to lowercase. Table name is case sensitive between Windows and Unix platform. I'm download bpss for linux platform and install on Centos. For development I download bpss for windows version. Maybe you can fix this issue.

 


 

 

Can you provide more details about what exactly the problem was from the quote above? We've tested the Push Service SDK on Linux and it worked ok. We use uppercase table names across the board which should work fine.

 

Please use plain text.
Contributor
budiman_lai
Posts: 21
Registered: ‎03-09-2011

Re: net.rim.pushsdk.commons.PushSDKException: SocketTimeoutException caught sending message to PPG URL address

[ Edited ]

@mdicesare

 

example query from mysql.properties

 

push.app.find.by.id=SELECT * FROM BPSS_PUSH_APPLICATION WHERE id = ? --> ERROR 1146 (42S02): Table 'db_name.BPSS_PUSH_APPLICATION' doesn't exist

 

push.app.find.by.id=SELECT * FROM bpss_push_application WHERE id = ? --> after I change BPSS_PUSH_APPLICATION to bpss_push_application, I can run sample-push-initiator.

 

Maybe this is different mysql settings between your server and my server. But, i think all tablename using lowercase better.

 

use MYSQL; and use mysql; is different in most linux platform. I use MySQL 5.1.25, CentOS 6.1, PHP 5.3.3 and Apache 2.0.

 

Note: I create bpss database manualy from query. All table name in lowercase.

Please use plain text.
Contributor
budiman_lai
Posts: 21
Registered: ‎03-09-2011

Re: net.rim.pushsdk.commons.PushSDKException: SocketTimeoutException caught sending message to PPG URL address

@gbeukeboom,

 

Thanks, now I can send push from panel. But I still can't find any subscriber id in menu Subscriber Management > Query by Status. Number of subscriber still 0.

 

In PUSH Sample app menu Settings in field Push Initiator application URL I fill "http://my_server_ip:8443/sample-push-initiator" or "http://my_server_ip:8443/debug-portal".

 

My next question is how to send push programaticaly using PHP or java?

Please use plain text.
BlackBerry Development Advisor (Retired)
gbeukeboom
Posts: 2,559
Registered: ‎10-16-2009
My Carrier: Bell

Re: net.rim.pushsdk.commons.PushSDKException: SocketTimeoutException caught sending message to PPG URL address

May be an obvious question, but have you had any devices subscribe directly to your server successfully yet? For the server to know of the device the client application needs to send a registration message to your server with the device's PIN.

Garett
@garettBeuk
--
Goodbye everybody!
Please use plain text.
Regular Contributor
mdicesare
Posts: 78
Registered: ‎04-28-2010
My Carrier: Rogers

Re: net.rim.pushsdk.commons.PushSDKException: SocketTimeoutException caught sending message to PPG URL address


budiman_lai wrote:

 

 

Note: I create bpss database manualy from query. All table name in lowercase.


By default the Push Service SDK uses all upper case in the DDL and DML files shipped. This shouldn't cause any problems.

 

To clarify your scenario, are you saying you modified the DDL file that comes with the SDK pushsdk_schema_mysql.sql to create the tables using lower case? And as such you then had to modify the DML file mysql.properties to change all the table names in the DML statements to use lower case as well?

Please use plain text.
Regular Contributor
mdicesare
Posts: 78
Registered: ‎04-28-2010
My Carrier: Rogers

Re: net.rim.pushsdk.commons.PushSDKException: SocketTimeoutException caught sending message to PPG URL address


budiman_lai wrote:

@gbeukeboom,

 

Thanks, now I can send push from panel. But I still can't find any subscriber id in menu Subscriber Management > Query by Status. Number of subscriber still 0.

 

In PUSH Sample app menu Settings in field Push Initiator application URL I fill "http://my_server_ip:8443/sample-push-initiator" or "http://my_server_ip:8443/debug-portal".

 

My next question is how to send push programaticaly using PHP or java?


Depends which sample push initaitor you want to use to send the push to your application. If you are using the Debug Portal helper app to initiate the pushes then subscribe with that web app, if you are using the sample-push-initiator helper app to initiate the pushes then subscribe with that app instead.

In terms of sending a push programatically using Java that is exactly what the Push Service SDK is for. The helper apps are just apps built on the SDK APIs/libraries. The Debug Portal and sample-push-initaitor apps both come with source code included so you can see how those apps use the SDK APIs to initiate push messages and more. The APIs are pretty simple to use so if you are using the SDK low level APIs look at the PapServiceImpl class in the PAP package; or if you are using the high level APIs look at the PushServiceImpl class in the push package.

 

 

<PushServiceSDK-install-dir>\pushsdk-high-level\helper-apps\debug-portal-1.1.0.17-sources.jar

-or -

<PushServiceSDK-install-dir>\pushsdk-high-level\helper-apps\sample-push-initiator\sample-push-initiator-1.1.0.17-sources.jar

 

Please use plain text.