cancel
Showing results for 
Search instead for 
Did you mean: 

SUP 2.1 ESD#2: Can't synchronize Windows Mobile Device to SUP through a Relay Server

Former Member
0 Kudos

Greetings.

We are using SUP2.1 with ESD#2 patch to create a windows mobile application which talks with SAP backend using RBS method.

We are getting the  a  SQLE_MOBILINK_COMMUNICATIONS_ERROR exception when we are trying to synchronize through the relay server

(setting up the SynchronizationProfile accordingly) on the WM cradled device.

The device is getting registered to successfully  on SCC but throwing this synchronization exception.

However,the same code application works fine in windows simulator in the same system(Register the application as well as synchronizes).

Another strange fact is that we are able to register and synchronize a sample application which talks to the sampledb backend successfully on device as well as simulator.

The relay server is up and working, and so is the RSOE.

We set up 2 farms on the Relay Server one for MBS and one for RBS and we modified the code to use the MBS Relay Server farm for the User Registration process and the RBS Relay Server farm for the synchronization process as shown below:

For connection Registration:

ConnectionProperties props = app.ConnectionProperties;

     props.ServerName ("<Relay Serve Name>");

     props.PortNumber(80);

     props.FarmID (“<MBS Farm Name>”);

For Synchronization:

ConnectionProfile syncProfile = SUP101DB.GetSynchronizationProfile();

     syncProfile.ServerName = "<Relay Server Name>";

     syncProfile.PortNumber = 80;

     syncProfile.NetworkProtocol = "http";

NetworkStreamParams streamParams = GetSynchronizationProfile().StreamParams;

     streamParams.Url_Suffix = "/ias_relay_server/client/rs_client.dll/<RBS Farm Name>";

GetSynchronizationProfile().setDomainName("default");

The exception is thrown at the highlighted(red) line of the code in the generated code "internalsynchronisation" method in DB.class genearted

"

                if (listener != null)

                    {

                        string[] mboNames = com.sybase.afx.DatabaseBase.GetMBONames(synchronizationGroup, GetPublications());

                        System.Collections.Hashtable tableMBOMap = getTableMBOMap();

                        com.sybase.afx.db.ConnectionUtil.Synchronize(ulConn, listener, _interProfile.ToSyncConnection(), mboNames, tableMBOMap);               

                    }

                    else

                    {

                        com.sybase.afx.db.ConnectionUtil.Synchronize(ulConn);               

                    }

"

With these settings the application worked properly via the Relay Server on the simualtor, Where as the same is not working on the device.

Following was found in the mobilink logs.


E. 2012-04-14 01:06:24. <8918> [-10001] Protocol error: 400

E. 2012-04-14 01:06:25. <8920> [-10117] Stream Error: Unable to continue unknown HTTP session

E. 2012-04-14 01:10:28. <8919> [-10279] Connection was dropped due to lack of network activity

Sybase Logs:

2012-04-14 01:00:13.509 ERROR   Mobilink Thread-171 [com.sybase.ml.sup.Logger] [-10001] Protocol error: 400
2012-04-14 01:00:14.546 ERROR   Mobilink Thread-191 [com.sybase.ml.sup.Logger] [-10117] Stream Error: Unable to continue unknown HTTP session
2012-04-14 01:04:17.723 ERROR   Mobilink Thread-191 [com.sybase.ml.sup.Logger] [-10279] Connection was dropped due to lack of network activity

Relay server logs

I. 2012-04-14 10:06:24. <3720.3764.F0B0S2R0> New request for old session from UltraLite/12.0.1.3519

W. 2012-04-14 10:06:24. <3720.3764.F0B0S2R0> Server response NOT completed. Remaining 0 of 0 bytes.

I. 2012-04-14 10:06:24. <3720.3764.F0B0S2R0> Signal OE to disconnect non-persistent backend connection

I. 2012-04-14 10:06:25. <696.3332.F0B0S2R0> New request for old session from UltraLite/12.0.1.3519

What are we missing?

Thanks and Regards,

Vivek

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

HI all,

It was an issue with relay server installation. Due to incompatabile(SP) of the server the communication was not happening was happeing properly. We had updated the server by installing the correct Service Pack and setting up the relay server.

Regards,

Vivek