Skip to Content
Author's profile photo Rakshit Doshi

Connecting SAP Mobile Platform 3.0 With Relay Server

Dear All,

From SAP Mobile Platform 3.0 onwards we know that there is no configuration tab for Relay Server like it predecessor in which in the SAP Control center or Sybase Control Center we used to specify the Relay Server Address and the farm.

The current version of SAP Mobile Platform 3.0 brings in the concept of Reverse Proxy Server instead of Relay Server which makes it easy for using any third party reverse proxy server to work with SAP Mobile Platform 3.0 but there would be many instances where there is already an instance of Relay Server already installed.

Next question arises is how to use this existing infrastructure

Although there is a guide already released by SAP which i tried but could not find it working http://help.sap.com/saphelp_smp303svr/helpdata/en/7c/2142c87006101492c9f671fb0c3990/content.htm

So I tried the reverse way and got this thing working.

I already had a Relay Server installed so i followed these steps.

1. Download SQL Anywhere from the below site on the SAP Mobile Platform Server Console

For the document purpose i am installing SQL Anywhere 12 whereas the latest version installed is SQL Anywhere 16.

You can acquire a free developer version from the below link.

https://global.sap.com/campaign/ne/sybase/sql_anywhere_12_developer_edition/index.epx?kNtBzmUK9zU

Register and Download the installer file as per your host station

You will get the developer key on the registered email address.

Screen Shot 2014-08-01 at 1.31.04 AM.png

and get a free version of SQL Anywhere 12 Developer Edition with a developer key.

Install the SQL Anywhere 12 by running the installer.

Now go to the Relay Server Machine and open the rs.config file located under %installation directory%/RelayServer/ias_relay_server/server/ folder

Add the entries as below

Screen Shot 2014-08-01 at 1.32.31 AM copy.png

See the sample values as below

[backend_farm]

enable = yes

id = SMPServer1.SUPFarm

client_security = off

#backend_security = on

description = SMPServer1 SMP Server Farm

and also add properties for the backend farm as well in rs.config file as below

Screen Shot 2014-08-01 at 1.32.56 AM copy.png

See the sample values as below

[backend_server]

enable = yes

farm = SMPServer1.SUPFarm

id =SMPServer1

token = 123456

Save the rs.config file and launch the command prompt and execute the below commands

cd %installation_directory%/RelayServer/ias_relay_server/server

rshost -u -f rs.config

This will update the relay server with the updated rs.config file

Once this is done, go back to the SAP Mobile Platform Server Machine and navigate to the below directory

%installation_directory%/SQL Anywhere/Bin64

Create a rsoe.config file using notepad in this directory and add the below contents in the rsoe,config file

Screen Shot 2014-08-01 at 1.29.56 AM copy.png

Sample values are as below

-id SMPServer1  -f SMPServer1.SUPFarm -t 123456 -cs

“host = localip of SMP Server;port = 8081;” -cr

“host= localip of Relay Server;port=80; url_suffix=/ias_relay_server/server/rs_server.dll;url_prefix=/ias_relay_server/client/rs_client.dll” -o “C:\log.txt” -v 5

The values marked in bold needs to be changed with your values

-cs is the host address and port of the SMP Server

The port can be different than 8081. This can be achieved by login into management cockpit and you will see the ESPM Service already deployed.

Click on Open Service Document which will open a new window

Screen Shot 2014-08-01 at 2.12.19 AM.png

Get the port number next to localhost and replace it with the same in the port adjacent to the host.

Once you edited the values save the rsoe.config file.

Then launch the command prompt with Administrator rights and run the below command

cd %installation_directory%SQLAnywhere/Bin64

rsoe @rsoe.config

This will create an outbound enabler channel.

You can check the log.txt file at the path mentioned in the rsoe.config file

It should say Successfully connect to “local ip of Relay Server”

Please ensure Port 80 and 443 are open in bidirectional mode between the Relay Server and SAP Mobile Platform Server

Once this is done

Open your browser and run this link

http://relayserveraddress/ias_relay_server/client/rs_client.dll/SMPServer1.SUPFarm/gateway/odata/sap/EspmService;v=1

It will open the list of methods for the service.

You can now connect to the SAP Mobile Platform Server from Anywhere using the Relay Server.

Hope this helps

Thanks,

Best Regards,

Rakshit Doshi

Assigned Tags

      26 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Fenil Doshi
      Fenil Doshi

      Great informative Blog Dude!

      Author's profile photo Vivek Nidhi
      Vivek Nidhi

      Nice blog - this is one challenge will face when migrating from SMP 2.3 to SMP 3.0.

      Many thanks indeed

      Vivek Nidhi

      Author's profile photo George Lazaridis
      George Lazaridis

      Hi Rakshit Doshi,

      First of all, thank you very much for the blog. It really helped me configure the Relay Servers in our environment.

      The RSOE configuration was the most tricky part I faced during SMP 3.0 installation. Setting up the config file and trying to understand where the rsoe.config should sit was the part it took me the most time.

      The guide i followed is on the link below where author is SAP.

      http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/200d7500-2605-3210-9d91-a24cfb6523ba?QuickLink=index&…

      The guide specifies that no full installation of SQL Anywhere is needed but this was not the case and that is the actual difference with your blog.

      According to the guide, the only files need to be copied over to configure the oublound enabler are the following:rsoe.exe, dblgde12.dll, dblgen12.dll, rsoesupp12.dl.

      Although, I found that with only these files the outbound enabler is failing.

      To give  a bit more context, we decided for testing purposes to install SMP3.0 in parallel with SMP 2.3. With that in mind, I could skip the part of fully installing SQLAnywhere since the files already existed in SMP 2.3. Doing that and copying these specific files over to a new folder, didnt work. Configuring the rsoe.config to the folder that holds all the files of SQL Anywhere, installed with SMP 2.3, works fine.

      So, currently i am using this as a workaround.


      Here are my queries:

      1. Why is SQL Anywhere even needed since SMP 3.0 is using other DBs? (Derby, Oracle etc.)

      2. Is the full installation really necesary? In my understanding, we only install the product to connect the RS and this is functional regarding performance.

      3. What are all the files needed to set up the outbound enabler without the full installation of SQL Anywhere?

      As i said above, I  copied the files over to a new configuration folder in order to work around the full installation but i get errors.

      Any insight would be great.

      Thanks and Regards,

      George Lazaridis

      Author's profile photo Rakshit Doshi
      Rakshit Doshi
      Blog Post Author

      Hi George,

      Even i was facing the same issues while configuring Relay Server. Then i moved on basics of Afaria as well which works with SQL Anywhere. For trial purpose i just used SQL Anywhere instance installed with SMP, configured the RSOE and boom it started to work.

      As to your questions,

      1. We are not using SQL Anywhere for DB configuration but only for setting up the RSOE's

      2. Yes full installation is not required, only RS product are required

      3. There are internal files as well i suppose which are required for configuration of outbound enabler.

      Hope this helps,

      Thanks,

      Rakshit Doshi

      Author's profile photo Former Member
      Former Member

      Hi Rakshit, This is a great post.

      Author's profile photo Former Member
      Former Member

      Hi Rakshit Doshi ,

      I wanted to know if i can use same Relay server for dev/test and prodcution or not.

      second scenario we are hosting smp 3.0 on cloud so can we use same  relay server for different customer also.

      Kindly help me on this query .

      BR,

      saurabh

      Author's profile photo Rakshit Doshi
      Rakshit Doshi
      Blog Post Author

      Hi Saurabh,

      Yes you can configure the same relay server for n number of instances. You have to define different farms in the same rs.config file and use the respective farm in the respective instances.

      Author's profile photo Former Member
      Former Member

      Hi Rakshit,

      Thanks for you reply . Basically we are hosting SMP 3.0 on cloud and as SMP 3.0 is not multitenant we are creating new instance(new installation on VM) for Each customer.

      So can we use the same relay server for All customer or do i need to have Seperate Relay server for Different customer.

      Also can you let me know Sizing of the Relay server.

      BR,

      Saurabh

      Author's profile photo Former Member
      Former Member

      Hi Rakshit,

      Can you please help me identifying relay server sizing in respect of SMP 3.0 .

      BR,

      saurabh

      Author's profile photo Former Member
      Former Member

      Hello Rakshit,

      Great guide! Very helpful, but I'm facing some issues with the ports. Here's my context:

      This is my rsoe.cfg file:

      -cr "host=relayserverhost; port=80; url_suffix=/ias_relay_server/server/rs_server.dll;" -cs "host=smphost; port=8080;"  -id SMPDEV -f IBMSMP -t MBS -o "C:\Program Files\SQL Anywhere 16\Bin64\HTTPSession.log" -v 2

      This is my rs.cfg file:

      #--------------------

      # Relay server peers

      #--------------------

      [relay_server]

      enable          = yes

      host            = relayserverhost

      http_port       = 80

      https_port      = 443

      And this is the output of the espm service:

      <?xml version="1.0" encoding="UTF-8"?>

      +<service xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://www.w3.org/2007/app" xml:base="https://vmfpsagt-qadev:8083/gateway/odata/sap/EspmService;v=1/">

      And this are my connector settings on SMP Management Cockpit:

      HTTP CLIENT CONNECTOR: 8080

      HTTPS CLIENT CONNECTOR: 8081

      MUTUAL SSL AUTHENTICATION CLIENT CONNECTOR: 8082

      HTTPS ADMIN CONNECTOR: 8083


      I access my Work manager application though this link:

      https://smphost:8081/SAPWM

      and correcly get the message "I am here!"

      My question is the following:

      In my rsoe.cfg file do I have to put port 8080 because it's my http client connector, or 8081 because is the one I use to access SAPWM, or 8083 because it's the one that the ESMP service uses?

      Author's profile photo Former Member
      Former Member

      Hi Rakshit,

      Hope you are doing well:)

      I have followed the same document but while running rsoe @rsoe.config command, i am getting the following error. "<OEHost> error in command near -cr". Can anyone please help on this?

      Thanks in advance!
      BR,
      Pavan Kumar S

      Author's profile photo Rakshit Doshi
      Rakshit Doshi
      Blog Post Author

      Hi Pavan kumar,

      Can you share your rsoe.config file?

      Thanks,

      Rakshit Doshi

      Author's profile photo Former Member
      Former Member

      Hi Rakshit,

      Its working fine now as we have changed the port number for relay server as 443.
      Many thanks for your timely response 🙂

      Author's profile photo Former Member
      Former Member

      Hi Rakshit,

      Something is wrong again as connection towards back end is getting established but not towards Relay Server..

      -id SMPServer2

      -f SMPServer2.SUPFarm

      -t 123456

      -cs "host = <SMP Hostname>;port = 8083;"

      -cr "host= <Relay Server IP>;

      https=1;port=443;url_suffix=/ias_relay_server/server/rs_server.dll"

      This is how i have configured "rsoe.config"..please help!

      Author's profile photo Rakshit Doshi
      Rakshit Doshi
      Blog Post Author

      Hi,

      Can you please post the rsoe log when u start the outbound enabler?

      Author's profile photo Former Member
      Former Member

      Hi Rakshit Doshi

      I have followed this, but facing issues when executing rsoe comand in smp instance.

      Can you please help?

      My rsoe command is

      -id qascluster-rep-26-f qascluster.rep -t qasenv_rep -cs "host=hostname;port=8087;" -cr "host=relayserver;port=80;url_suffix=/ias_relay_server/server/rs_server.dll;url_prefix=/ias_relay_server/client/rs_client.dll" -q -o "D:\SAP\MobilePlatform3\Server\log\rsoe_acc1_log.txt" -v 5

      Error in command near "-cr"

      Can you please help.

      Thanks

      Aditya

      Author's profile photo Former Member
      Former Member

      Hi Rakshit Doshi

      I have followed this, but facing issues when executing rsoe comand in smp instance.

      Can you please help?

      My rsoe command is

      -id qascluster-rep-26-f qascluster.rep -t qasenv_rep -cs "host=hostname;port=8087;" -cr "host=relayserver;port=80;url_suffix=/ias_relay_server/server/rs_server.dll;url_prefix=/ias_relay_server/client/rs_client.dll" -q -o "D:\SAP\MobilePlatform3\Server\log\rsoe_acc1_log.txt" -v 5

      Error in command near "-cr"

      Can you please help.

      Thanks

      Aditya

      Author's profile photo Rakshit Doshi
      Rakshit Doshi
      Blog Post Author

      Hi Aditya,

      Remove the url_prefix part. The rsoe.config file would be somehting like this

      -id qascluster-rep-26-f qascluster.rep -t qasenv_rep -cs "host=hostname;port=8087;" -cr "host=relayserver;port=80;url_suffix=/ias_relay_server/server/rs_server.dll" -q -o "D:\SAP\MobilePlatform3\Server\log\rsoe_acc1_log.txt" -v 5

      Also check the port 8087 that you are giving for SMP. Is this the port that you have defined.

      This should solve your issue.

      Hope this helps,

      Thanks,

      Rakshit Doshi

      Author's profile photo Former Member
      Former Member

      Hi Rakshit Doshi,

      This is working, however after the outbound enabler is started, i don't see the service running.

      Attaching the log file for your reference.

      Can you please help.

      Capture12.PNG

      Thanks

      Aditya

      Author's profile photo Rakshit Doshi
      Rakshit Doshi
      Blog Post Author

      Hi Aditya,

      Can you share your actual rsoe.config file without modification of the hostname and also the rsoe file log

      Thanks,

      Rakshit Doshi

      Author's profile photo Former Member
      Former Member

      Hello Rakshit,

      This is quite useful information that you have shared.

      We are working on implementing this with SMP 3.0 SP07. We followed all steps but got error when started the RSOEs. Can you please help?

      Here are the logs-

      I. 2015-07-07 11:52:31.835+0100 T{000046b4} OER element err.parameters             Error parameters

      I. 2015-07-07 11:52:31.835+0100 T{000046b4} OER header -------------- Outbound Enabler Record (OER) format --------------

      I. 2015-07-07 11:52:31.835+0100 T{000046b4} J{RS-host#farm#server#junction-index} R{request-number} M{OER DATA m:up m:rtp m:dn m:close | b:up b:dn | i:err err err.parameters}

      I. 2015-07-07 11:52:31.841+0100 T{000046b4} J{} M{Started}

      I. 2015-07-07 11:52:31.843+0100 T{00002cd8} J{vgsyb1zr#vgsyb1zw.smp3#vgsyb1zw#First} M{Sending exact POST request}

      I. 2015-07-07 11:52:31.856+0100 T{00002cd8} J{vgsyb1zr#vgsyb1zw.smp3#vgsyb1zw#First} M{Wrote request headers:

                                POST /cli/iarelayserver/ HTTP/1.1

                                Host: vgsyb1zr.dc-ratingen.de:80

                                Connection: close

                                X-SAP-RS-OE-Protocol-Version: 14.04.13

                                X-SAP-RS-OE-Farm-Id: vgsyb1zw.smp3

                                X-SAP-RS-OE-Server-Id: vgsyb1zw

                                X-SAP-RS-OE-Mac: 00-50-56-93-26-d4!!00-50-56-93-29-5f!!

                                X-SAP-RS-OE-Token: smp.token

                                User-Agent: SAP_RSOE_First_Tunnel

                                X-SAP-RS-OE-Tunnel-Id: vgsyb1zr#vgsyb1zw.smp3#vgsyb1zw#First

                                Content-Type: application/octet-stream

                                Content-Length: 3

                                Cache-Control: no-cache

                               

                                }

      I. 2015-07-07 11:52:31.858+0100 T{00002cd8} J{vgsyb1zr#vgsyb1zw.smp3#vgsyb1zw#First} M{Headers: HTTP/1.1 200 OK

                                Date: Tue, 07 Jul 2015 10:52:31 GMT

                                Server: Apache/2.2.24 (Unix) mod_ssl/2.2.24 OpenSSL/1.0.1g

                                Pragma: no-cache

                                Content-Length: 764

                                Connection: close

                                Content-Type: text/html

                               

                                }

      I. 2015-07-07 11:52:31.858+0100 T{00002cd8} J{vgsyb1zr#vgsyb1zw.smp3#vgsyb1zw#First} M{HTTP status received: 200}

      I. 2015-07-07 11:52:31.858+0100 T{00002cd8} J{} M{Connected and posted Relay Server list request.}

      E. 2015-07-07 11:52:31.858+0100 T{00002cd8} J{} M{OEE1041: The Outbound Enabler -cr switch does not specify a valid Relay Server. The HTTP response from the server has the following headers: HTTP/1.1 200 OK

                                Date: Tue, 07 Jul 2015 10:52:31 GMT

                                Server: Apache/2.2.24 (Unix) mod_ssl/2.2.24 OpenSSL/1.0.1g

                                Pragma: no-cache

                                Content-Length: 764

                                Connection: close

                                Content-Type: text/html

                               

                                } D{y:\src\db\relayserver\c\oe_impl.c:841}

      I. 2015-07-07 11:52:40.093+0100 T{000046b4} J{} M{Stopping...}

      I. 2015-07-07 11:52:40.093+0100 T{000046b4} User mode CPU usage: 0.03%

      I. 2015-07-07 11:52:40.093+0100 T{000046b4} Kernel mode CPU usage: 0.03%

      I. 2015-07-07 11:52:40.093+0100 T{000046b4} Total CPU usage: 0.06%

      I. 2015-07-07 11:52:40.093+0100 T{000046b4} J{} M{Stopped}

      Thanks in advance.

      BR,

      Mandar K.

      Author's profile photo Rakshit Doshi
      Rakshit Doshi
      Blog Post Author

      Seems u are using an apache relay server. Can you share your rsoe.config file

      Author's profile photo Former Member
      Former Member

      Yes, we are using Apache relay server. rsoe.config files is as-

      -f vgsyb1zw.smp3

      -id vgsyb1zw

      -t smp.token

      -cr "host=vgsyb1zr;port=80;url_suffix=/cli/iarelayserver/"

      -cs "host=vgsyb1zw;port=8083"

      -v 5

      -o "C:\rsoe.log"

      BR,

      Mandar.

      Author's profile photo Andreas Wegmann
      Andreas Wegmann

      ATTENTION: Please note that ONLY Relay Server 16.5.3 or higher is supported with SMP 3.0.x. runtime.
      SMP 3.0 MBO runtime still supports the "old" 16.0.0.x architecture.
      We know that the documentation for the RS installation requires some improvemernts and the updated documentation will be released with SMP 3.0 SP09.
      Please DON'T use SQLA 12 or 16 standard RS files for SMP 3.0.x, it's NOT supported.
      The RS design for SMP 3.0 has been chnaged
      If there is any issue/concern about the RS installation 16.5.4 please open a new incident to follow up.
      Thanks, Andreas

      Author's profile photo V V
      V V

      Hi Andreas,

      I've recently opened an discussion regarding the content of your comment to this post.

      At this moment the objective is to set up Relay Server 12.x with SMP3.0 SP09 and based on your comment that isn't possible.

      So, my request is if you can elaborate and indicate some documentation supporting your comment (perhaps in response to the already opened discussion) because I can't find any references regarding version compatibility between Sybase RS and SMP3.

      Best regards,

      Vicente

      Author's profile photo Andreas Wegmann
      Andreas Wegmann

      Hi Vicente,
      I replied in the discussion you opened.
      KInd regards,
      Andreas