如何检查SAP Mobile Platform中的中继服务器,以及将服务器与Android App配对

时间:2014-08-08 09:49:21

标签: android eclipse sap sup sap-smp

这似乎是一个愚蠢的问题,但我怎么知道我的SAP SMP 2.3服务器是否有 中继服务器?

其他数据: 在尝试使用Sap Mobile Platform 2.3进行HelloWorld项目设置时,我有一些基本的知识。我想从Web服务中读取几行内容。 我可以访问Sap Mobile工作区,SAP Control Center以及运行它的虚拟机, 但我没有配置它所以我对它的见解是有限的。 到目前为止,我已经能够从一个sap webservice读取几行数据,并在上面看到它们 SMP工作区。我的下一步是从我原生的Android应用程序中读取这一行,但我很挣扎 确定用于同步我的应用程序的端口,我无法将其连接到服务器。 我得到绿色和红色的消息:“在eclipse的logcat上无法连接到IP地址bla bla,端口bla”。

到目前为止我的代码:

Application app = Application.getInstance(); 
            app.setApplicationIdentifier("SMPNostrum"); 
            app.setApplicationContext(SMPactivity.this); 
            Log.v("joshtag","Configuring Connection Properties");        
            ConnectionProperties connProps = app.getConnectionProperties();
            connProps.setServerName(SERVER_137);  //My server's IP
            // if you are using Relay Server, then use the correct port number for the Relay Server.
            // if connecting using http without a relay server, use the messaging administration port, by default 5001.
            // if connecting using https without a relay server, then use a new port for https, for example 9001.
            connProps.setPortNumber(SYNC_SERVER_PORT);//Port=2480
            // if connecting using https without a relay server, set the network protocol
            connProps.setNetworkProtocol("http");  
            connProps.setFarmId("0");
            connProps.setActivationCode("123");  
            // Set FarmId and UrlSuffix when connecting through the Relay Server. 
            // Provide user credentials
            LoginCredentials loginCred = new LoginCredentials("Samsung","my password here");
            connProps.setLoginCredentials(loginCred);
            connProps.setUrlSuffix("/ias_relay_server/client/rs_client.dll/%cid%/tm");  //is this necessary?
            // Initialize generated package database class with this Application instance
            SMPNostrumDB.setApplication(app);  

        ConnectionProfile cp=SMPNostrumDB.getSynchronizationProfile();
        cp.setServerName(SERVER_137);
        cp.setPortNumber(SYNC_SERVER_PORT);
        cp.setNetworkProtocol(PROTOCOL);        
        cp.setDomainName("default");
        cp.save();          

        Log.v("joshtag","Registering and connecting App");
     // If the application has not been registered to the server,register now
        if (app.getRegistrationStatus() != RegistrationStatus.REGISTERED){
            app.registerApplication(30000);
            //iniciaSincronitzacio(app.getRegistrationStatus() != RegistrationStatus.REGISTERED, sincronizar);
            }
        else{ 
            // start the connection to server
            app.startConnection(30000);
            }

1 个答案:

答案 0 :(得分:1)

简短回答:

  1. 未随SMP安装一起安装中继服务器。
  2. 应用程序与SMP通信有两个通信通道,一个是消息传递,另一个是同步端口。您可以在控制中心找到这两种信息。 connprop for application需要设置消息传递端口,连接配置文件需要设置同步端口。 在connprop的默认设置中,您可以将farm id保持为零。
  3. 基本顺序是

    1. 如果尚未注册,则在设置应用程序的连接属性后注册应用程序。否则请致电startconnection。
    2. 注册从SCC下载同步连接设置。 您可以为同步配置文件设置登录信息,并为要同步的同步组调用同步。
    3. 可以在SCC下的应用程序节点下看到连接设置,以便在应用程序设置模板下分组您的特定应用程序。确定将使用哪个模板是使用三个参数完成的:应用程序名称,安全配置和逻辑角色。如果您未在应用中使用逻辑角色,则它将是应用程序名称和安全配置。注册前,应用程序的连接属性中提供了此安全配置。

      有关详细信息,请访问http://infocenter.sybase.com并转到特定服务器版本。