0

这似乎是一个愚蠢的问题,但是如何确定我的 SAP SMP 2.3 服务器是否有中继服务器?

附加数据:我在尝试使用 Sap Mobile Platform 2.3 进行 HelloWorld 项目设置时获得了基本知识,我想从 Web 服务中读取几行内容。我可以访问 Sap Mobile 工作区、SAP Control Center 和运行它的虚拟机,但我没有对其进行配置,因此我对它的了解有限。到目前为止,我已经能够从 sap Web 服务中读取几行数据,并在 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);
            }
4

1 回答 1

1

简短的回答:

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

基本顺序是

  1. 如果尚未注册,请在设置应用程序的连接属性后注册应用程序。否则调用 startconnection。
  2. 注册从 SCC 下载同步连接设置。您为同步配置文件设置登录信息,并为要同步的同步组调用同步。

可以在 SCC 上左侧应用程序节点下的应用程序设置模板下为您的特定应用程序查看连接设置。使用三个参数来确定将使用哪个模板:应用程序名称、安全配置和逻辑角色。如果您不在应用程序中使用逻辑角色,它将是应用程序名称和安全配置。此安全配置已在注册前在应用程序的连接属性中提供。

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

于 2014-08-09T09:24:09.283 回答