Quantcast
Channel: SCN : Document List - SMP Developer Center
Viewing all 539 articles
Browse latest View live

SAP Mobile Platform 3.0 - What's New in the SP4 Server and SP5 SDK

$
0
0

See what's new in the latest SAP Mobile Platform 3.0 SP4 Server and SP5 SDK. From the Offline OData Service to the new Harmonized SDK and much much more.

View this Presentation


Developing Offline Apps with the Kapsel SDK

$
0
0

Learn how to develop offline applications using the latest Kapsel SDK found in the Mobile SDK 3.0 SP5. This presentation will go over a Kapsel Overview, show of the SAP Mobile Platform OData Offline Services work, and then go over Kapsel SDK Offline OData plugin.

View this Presentation

Writing Custom Script in SMP 3 Integration Gateway

$
0
0

Okay, get ready to put your hands in custom scripts. You must have read about the possibilities of using custom scripts in Integration Gateway using Javascript or Groovy from SMP SP04, that helps you to customize request and response mappings, delta token, access to Header etc. In this document I am going to use a simple SOAP data source available in the web to customize a request (WSDL File: http://www.webservicex.net/medicareSupplier.asmx?WSDL).

 

  • Use SOAP UI to test the requests and to identify the payload.

ScreenHunter_06 Oct. 21 00.29.jpg

  • Create Odata Models:

ScreenHunter_06 Oct. 21 00.31.jpg

 

  • After creating Odata models, select the data source.

ScreenHunter_06 Oct. 21 00.35.jpg

  • You can create a script file by right clicking on the "Query". To customize the request you have to write custom code inside processRequestData function. You can find the payload structure you have to build with the payload created by SOAP UI tool. When I look at the payload in SOAP UI tool, below script satisfy the request.

 

function processRequestData(message) {

   importPackage(com.sap.gateway.ip.core.customdev.logging);

   importPackage(com.sap.gateway.ip.core.customdev.util);

   importPackage(org.apache.olingo.odata2.api.uri);

   importPackage(java.util);

   importPackage(com.sap.gateway.core.ip.component.commons);

   importPackage(com.sap.gateway.ip.core.customdev.api);

 

   parentMap = new LinkedHashMap();

   parentMap.put("key:City","california");

 

   //Set the message body back

   message.setBody(parentMap);

 

   //Logger

   importPackage (com.sap.gateway.ip.core.customdev.logging);

   log.logErrors(LogMessage.TechnicalError, "This is first log"+message.getBody().toString());

  return message;

}


  • Don't forget to map the response.

ScreenHunter_06 Oct. 21 00.47.jpg

How to debug ?

Modify the function

 

function processRequestXML(message) {

  //Logger

   importPackage (com.sap.gateway.ip.core.customdev.logging);

   log.logErrors(LogMessage.TechnicalError, "This is first log"+message.getBody().toString());

  return message;

 

}

 

This will log the request xml in the SMP server logs, you can find the log file in SMP Admin cockpit or in the server installation path. Compare the xml payload created with the SOAP UI payload or paste the payload in SOAP UI tool and run it, to troubleshoot.

ScreenHunter_06 Oct. 21 00.50.jpg

Windows SDK in a Nutshell

$
0
0

This PowerPoint presentation provides a high level overview of the Windows SDK in the latest service pack of SAP Mobile Platform.  The speaker notes provide enough background information to understand the Windows SDK even for the novice user.

View this Presentation

How To... Enable User On-boarding using MAF Logon (Android)

$
0
0

The Mobile Application Framework (MAF) contains the MAF logon component that provides easy integration for applications that use logon UI behaviour and need to on-board users with SAP Mobile Platform (SMP). This guide explains how developers can leverage the MAF Logon component to on-board users with SMP.

View this SAP How-to Guide

SAP Mobile Platform 3.0 - Options for Developing Your Own Apps

$
0
0

SAP Mobile Platform 3.0 allows for numerous options for developing your own mobile applications. From native to hybrid mobile applications, the SAP Mobile Platform will support it. This session will give you an overview of what options are available to you and what makes the most sense for you projects.

View this Presentation

App Builder vs River RDE

$
0
0

Dear All,

 

There has been a great demand to develop Web Applications for Mobile and there are different Tools and IDEs  available for developers .

App Builder and River RDE are two different  Web IDE s offered from SAP to ease the development process of web applications for mobile underlying the UI5 libraries.

 

This blog mainly compares the different features available in each of them.

 

Features supportedAppbuilder ( 1.0.1252 )River RDE ( Beta )
Release DateNovember 2013Sapphire Orlando 2014 , Beta
Pre Requisites

Node.js, JDK, cordova ,

Browser (Chrome /Safari )

Hana cloud account, Hana Cloud Connector and a Browser (Chrome/Safari)
Target AudienceDevelopersDevelopers, Business Experts and Designers
Collaborative Developmentnoyes
Runs On premiseyesno
Mock Data supportyesyes
OData consumptionyesyes

Github integration

noyes
Rest integrationyesno
EDMXnoyes
Version maintenancenoyes
SMP integrationyes

supported in future

Cordova and Kapsel supportyessupported in future
IOSyesyes
Androidyesyes
Simulatoryesyes
Develop Fiori like applicationscomplexyes
Extending Fiori applicationsnoyes
UI5 frameworkyesyes
CSS Stylesyesyes
makityesyes
Default templatesSuperlist , Charts , Tab Fiori
Default ui5 librarysap.msap.m
WYSIWYGyesyes
Theme Designer integrationnosupported in future
PriceFreeFree

 

Learn more about

App Builder

App Builder Tutorials

River RDE

River RDE Tutorials

 

PS:

This document is open for editing and community members can feel free to add /edit points as the product version changes.

Integration Gateway in SMP 3.0 Webinar Slides


AppBuilder Tutorial - Hello World App

$
0
0

Introduction

This tutorial will introduce you to AppBuilder and guide you on creating a simple application using AppBuilder.

 

 

Prerequisites

AppBuilder must be installed on your workstation. Visit here to get AppBuilder and here for the documentation.

 

 

Starting AppBuilder

To start AppBuilder the user need double click run.bat (or execute run.sh in Terminal app in Mac), which will start the AppBuilder server instance and loads the AppBuilder in Google Chrome/Safari browser.

If everything goes fine, the IDE will be started using the following URL http://127.0.0.1:9009/ide/ares/index.html

The browser will go to the above URL in the address bar automatically, the Project Management page will show up like figure 1.

 

Figure1.png 

Figure 1


Using AppBuilder to create new project

Creating hello world application

  • Tap New > button in Project Management screen.
  • In the New Project dialog, enter Project Name as “SAPB_HelloWorld_Tutorial”.

  Figure2.png

Figure 2

 

  • Select Device Type to “Phone” from the drop down list box.
  • Select Template to“Generic Application” from the drop down list box.
  • Press “CONFIRM” to create the project.

 

Adding Controls to the Project

 

  • The workspace of IDE now opens with phone device frame Form Builder.  Following figure 3 shows IDE with Form Builder.

Figure3.png

Figure 3


  • To add a label control to the Form, drag and drop the label control from toolbox to the designer surface in the Form.
  • Enter control name as “helloLabel” in properties of the control.
  • Press text and enter display text as “HelloWorld”. press Enter.
  • Press style and add font size to “font-size:20px;”. Press “CONFIRM”.

Figure4.png

Figure 4

 

  • After adding label the designer form looks like figure 5:

 

Figure5.png

Figure 5

 

 

 

  • Add input control into designer and enter control name as “helloInput” and then enter placeholder text as “Enternewtextforthelabel”. Press Enter.

 

Figure6.png

Figure 6

 

 

  • Add Button control into designer and enter control name as “helloBtn” and then enter text as “ApplyChanges”. Press Enter.

 

Figure7.png

Figure 7

 

 

  • Select Events tab of button control from the right panel.

Figure8.png

Figure 8

 

 

  • Enter the event handler name for press event as “onHelloBtnPressed”. Press Enter.
  • Select application view “SOURCE” tab from the panel.

Figure9.png

Figure 9

 

 

  • You can see the event handler “onHelloBtnPressed” which was enter for “helloBtn” button control.
  • Type the following script to “onHelloBtnPressed” event, this script will change the “HellWorld” label to “NewHellowWorld” when press the “ApplyChanges” button.

 

 

//Get the controls              var helloLabel = this.byId("helloLabel");              var helloInput = this.byId("helloInput");              //Get the value of helloInput              var newLabel = helloInput.getValue();              //Check the newLabel value is not empty and set the label              if(newLabel.length > 0) {                     helloLabel.setText(newLabel);              }

 

  • After entering the script, the screen will looks like figure 10:

Figure10.png

Figure 10

 

  • Press “Save” from main menu “FILE”.

 

 

 

Running AppBuilder Project

SAPB_HelloWorld_Tutorial project can run Chrome/Safari Browser by clicking the “Run” menu from main menu “EXECUTE”. The new browser will be launched to show the hello world application.

Figure11.png

Figure 11

 

 

Enter text “New Hello World” in the input column and press “Apply Changes” button. Now you can see the “Hello World” text changed to “New Hello World”.

Figure12.png

Figure 12

Efficient SUP log collection

$
0
0

Productive SUP environments produce a multitude of interesting logs in a multitude of places. The important process of collecting these logs regularly can become quite tedious, so I wrote a short and hopefully universally adaptable batch script that simplifies and streamlines this task.

 

This script will check which logs exist on the machine it is running and use a packer (default is 7-zip) to pack all existing logs into a single file that is automatically named with a timestamp and the hostname for optimal distinction. The script has been successfully tested on both single-node and clustered installations of SUP 2.1.2 in its current form and it is easily adaptable to whatever environment you may have.

 

In order to use it, you may need to customize the following three variables OUTPUT_DIR, SYBASE_DIR, PACKER:

 

SET PACKER="C:\Program Files\7-Zip\"7z a -ssw
SET SYBASE_DIR=D:\Sybase
SET OUTPUT_DIR=%USERPROFILE%\Desktop

 

PACKER is the path to the packer's executable. Here, the default is the standard installation path of 7-zip. You can configure other packers to work with the script, but 7-zip is the best free tool for the job. I also include an adaptation to WinRAR for convenience.

 

SYBASE_DIR is the top-level folder of your SUP installation. Since most people run SUP and the OS on separate partitions, this defaults to D:\Sybase.

 

OUTPUT_DIR is where the packed logs will end up. The default is the desktop of the active user, to ensure that you have the necessary write permissions.

 

Please note that this script comes without warranty of any kind. You should check it thoroughly for yourself and will run it at your own risk. Since the script is collecting some windows eventlogs, you may have to run it as an administrator. If you don't have an administrator account on the machine, the script will still collect all logs that your user can access.

runasadmin.png

 

Listing of logcollect.bat

@ECHO OFF

SETLOCAL

REM 8<----- Change this part to customize

REM Uncomment to use 7-zip
SET PACKER="C:\Program Files\7-Zip\"7z a -ssw
REM Uncomment to use rar
REM SET PACKER="C:\Program Files\WINRAR\"rar a -dh
SET SYBASE_DIR=D:\Sybase
REM Seperate database dir can be entered here if necessary
REM Standard is UnwiredPlatform\Data\CDB
SET DATABASE_DIR=UnwiredPlatform\Data\CDB
SET OUTPUT_DIR=%USERPROFILE%\Desktop

REM ----->8

IF EXIST %SYBASE_DIR% (
  CD /D %SYBASE_DIR%
)

SET LOG_DIRS=

REM Main SUP logs
SET ITEM=UnwiredPlatform\Servers\UnwiredServer\logs
IF EXIST %ITEM% (
  SET LOG_DIRS=%LOG_DIRS% %ITEM%
)
REM Main SCC logs
SET ITEM=SCC-3_2\log
IF EXIST %ITEM% (  SET LOG_DIRS=%LOG_DIRS% %ITEM%
)

REM Windows Eventlogs
SET ITEM=%SYSTEMROOT%\system32\winevt\logs
IF EXIST %ITEM% (
  SET LOG_DIRS=%LOG_DIRS% %ITEM%\System.evtx %ITEM%\Application.evtx
)

REM SUP repository information
SET ITEM=UnwiredPlatform\Servers\UnwiredServer\Repository\Instance
IF EXIST %ITEM% (
  SET LOG_DIRS=%LOG_DIRS% %ITEM%
)
REM SCC database errorlogs
SET ITEM=SCC-3_2\services\Repository\scc_repository.slg
IF EXIST %ITEM% (  SET LOG_DIRS=%LOG_DIRS% %ITEM%
)

REM Advantage database errorlogs
SET ITEM=C:\ADS_ERR.ADI
IF EXIST %ITEM% (
  SET LOG_DIRS=%LOG_DIRS% C:\ADS_ERR.*
)
REM SQL Anywhere database errorlogs (on data tier)
SET ITEM=%DATABASE_DIR%\errorlog.txt
IF EXIST %ITEM% (  SET LOG_DIRS=%LOG_DIRS% %DATABASE_DIR%\*errorlog.txt
)

REM Get time in locale-independent WMI format
SET X=
FOR /F "skip=1 delims=" %%x IN ('wmic os get localdatetime') DO (
  IF NOT DEFINED X (    SET X=%%x  )
)
REM Split WMI format
SET YEAR=%X:~0,4%
SET MONTH=%X:~4,2%
SET DAY=%X:~6,2%
SET HOUR=%X:~8,2%
SET MINUTE=%X:~10,2%
SET SECOND=%X:~12,2%

SET ARCHIVE_FILENAME=%OUTPUT_DIR%\
SET ARCHIVE_FILENAME=%ARCHIVE_FILENAME%%YEAR%-%MONTH%-%DAY%_
SET ARCHIVE_FILENAME=%ARCHIVE_FILENAME%%HOUR%-%MINUTE%-%SECOND%_
SET ARCHIVE_FILENAME=%ARCHIVE_FILENAME%%COMPUTERNAME%_
SET ARCHIVE_FILENAME=%ARCHIVE_FILENAME%suplogs

SET CMD=%PACKER% "%ARCHIVE_FILENAME%" %LOG_DIRS% 
ECHO Running %CMD%
%CMD%
IF %ERRORLEVEL% NEQ 0 (
  ECHO Errorlevel is %ERRORLEVEL%, please check what went wrong  PAUSE
)
ENDLOCAL

Handling SOAP Inline Count in Custom Processor

$
0
0

In odata - > soap, inline count operation is supported provided there is a web service operation which can return the In Line count of the No of Records from response. The operation must take an input parameter and return the count of the entries from the Web Service response.

 

Steps from Design Time tool

  1. Create an OData Service Implementation Project
  2. Create an OData Model for getSalesOrder operation, which can have properties CustomerID, SalesOrderID, Note etc.

         

    3. Right click on odatasvc and choose Select data source

    4. Select the entity set and choose the query CRUD operation. Select the data source SOAP Service.

      

    5. Specify the wsdl file and choose the salesOrderInlineCount operation from the list of soap operations and click on finish

       

    6. Right click on Query and select Define Custom Code

    7. Select the script type as either javascript or groovy script

       

     8. The Customer ID on which the Inline count has to be fetched. A hash map must be created in processRequestData function with key being CustID or any entity with which Web service Returns the response.

set the Hash Map to message body.

       

If the odata request is https://<localhost:8083/Namspace>/<ProjectName>;v=1/SalesOrder_InlineCountSet

Then the soap request body looks like

<soapenv:Body>

<web:saleOrderInlineCount>

<web:CustID>1</web:CustID>

</web:saleOrderInlineCount>

</soapenv:Body>

    9. Once the web service response is returned, the response includes both the Inline Count Value and the Payload i.e. Each row of entity set. This has to be Parsed to get the inline count value and the Normal Response.

Parsing of the Response which is in the form of an XML can be achieved using Custom Processor below is the sample code for the same.

here we are fetching the Inline Count Value by splitting the tag <inlineCount> from xmlBody which we got from Input Parameter message.

if Inline Count Value is not null we are setting a property value to message object with Key as InlineCount and the value with the value of inline Count we got from response.This property will be converted to a count value in the final odata Response.

Now we will Map the Response to EDMX Entities/Properties i.e. we are achieving this with out Design Time Tool.

create a String buffer and append the xml tag, entity set tag, entity tag, properties to it.

Proprieties are fetched by Iterate through the xmlBody to the corresponding Node level and if the node name matches the EDMX property name then append the value to the property tag.

Iterate until the next element is not found.

set the XML created using String Buffer to the message Body.

       

              

    12. Right Click on Project and select Generate and Deploy Integration Content. This will deploy the bundle.

Now fire an OData Request https://<localhost:8083/Namspace>/<ProjectName>;v=1/SalesOrder_InlineCountSet on the browser and response will give the list of SalesOrder Items and the InlineCount of the Items.

Developing Native Apps for iOS

$
0
0

It discusses native app development for iOS, based on the SAP Mobile Platform SP4 & SDK SP5. In particular, it covers the innovations that we delivered with the latest Support Packages. One of the highlights: offline Apps!

View this Presentation

SMP 3.0: Setup BO Mobile Connection

$
0
0

I have previously posted questions related to setting up an SMP 3.0 connection for Business Objects Mobile iOS application in this thread http://scn.sap.com/thread/3629468, unfortunately I didn't get any responses

 

One of my colleagues has been chasing down SAP Support to get some assistance. It turns out that no documentation is publicly available for setting up this connection

 

However we did get help from SAP Support to set it up, and now I want to post it so others may benefit from this knowledge.

 

I don't have any knowledge of Business Objects, and there are some prerequisites that needs to be fulfilled on the Business Objects Servers. You will probably find these in the standard documentation http://help.sap.com/businessobject/product_guides/sbo41/en/608_mobiOS_admin_en.pdf

We are moving from SUP 2.1, and the BO configuration has only changed slightly, so this setup is the same as it has been for a couple of years.

 

 

SMP 3.0 Configuration

 

The connection setup on SMP 3.0 is very easy.

 

Step 1. Define the Application in SMP 3.0.

 

Log in to the Management Cockpit of SMP 3.0 and navigate to the Application overview.

Click the New button.

 

CreateApplication.JPG

Define your application of type Native.

 

IMPORTANT:

For some weird reason the name "MobiApp" is reserved for this application and you must use this name. In turn this unfortunately means that you can only have one BO Mobile Application defined in your SMP 3.0 environment

 

 

BackendConfig.jpg

For the Backend Configuration setup the endpoint as displayed.

The structure of the URL might be different for your BO server.

 

 

Step 2. Define and assign a security profile.

 

Navigate to the Authentication tab.

 

CreateSecProfile.jpg

Create a new security profile.

 

CreateSecProfile2.jpg

Enter a name and click to add an authentication provider.

NB: The name of the security profile may be chosen freely

 

AuthenticationProvider.jpg

Choose the "HTTP/HTTPS Authentication" Authentication Provider, and specify the URL to the login service on your BO Server.

 

Hint: Check the URL in a browser and confirm that you are being prompted for credentials. The Tomcat server will display a blank screen if you are authenticated on the BO Server.

 

Save your changes.

 

 

Step 3: Configure your iPad.

 

First of all you need to install the client on your iPad.

The app may be downloaded from Apple App store: https://itunes.apple.com/us/app/sap-businessobjects-mobile/id441208302?mt=8

 

Start up the client.

 

iPadSetup1.jpg

Click the "Connect" button.

 

iPadSetup2.jpg

Click "Create new Connection".

 

iPadSetup3.jpg

Choose the Connection Type "SMP BOE Connection".

 

iPadSetup4.jpg

 

The Connection type will be displayed as "SAP Mobile Platform".

 

Enter Connection Details:

- Connection Name: Freely chose name for your connection.

- Security Configuration:  Enter the name of the Security Profile defined on the SMP server.

- Server URL: Base URL to your SMP server.

- Proxy Name: Name of the SMP Application hosting your connection (must be named MobiApp).

 

Click Done and you will be presented with a login screen.

Enter your credentials and click Register.

 

You should get access to whatever reports you have access to on your BO system.

 

That’s it.

 

Søren Hansen

Replace all HTTPS certificates on a new SMP 3.0 installation

$
0
0

It still surprises me how many SMP/SUP implementations I work on where the replacement of the server SSL certificates is left to the last minute when in fact it only takes about 20 mins to complete as part of the install process. I am a firm believer that we should aim to be secure by default and I encourage everybody to do the same.

 

By default the install of SMP comes with a number of self-signed and untrusted certificates which can be annoying both from an admin perspective, as browsers will complain, but also annoying from an app perspective as devices generally don't like insecure communications. So we need to replace these certs.

 

First lets start with a list of the HTTPS listening ports that we will need to address:

 

SMP 3.0

There are four main ports for SMP itself of which three use SSL. I of course am referencing the default port numbers here so you may need to adjust to fit any non-standard installation:

 

8081 - this is the HTTPS client connector for secure client communications

8082 - this is the Mutual SSL authenticator for secure certificate authenticated communications

8083 - this is the administration port on which you can find the admin console and uses SSL

 

In this case the replacement of the default certificate is pretty easy. With every installation in the SMP_HOME\Server\configuration folder there is a file called smp_keystore.jks. The first thing you ALWAYS do when manipulating the keystone is make a backup and that is as simple as copying the file. So do that first.

 

Next let's list the contents - using the keytool command which is a standard command delivered as part of a JRE (java runtime environment) installation. So go to your command prompt, and navigate to the above location. Run the following command:

 

keytool -list -keystore smp_keystore.jks

Once you execute, one of two things will happen - you may get an error with the command keytool not found in which case the JRE is missing from your path. I won't cover how to fix that here but it is widely documented on google if you need it. What should happen is that it prompts you for your keystore password which is the same as the one you provided during the SMP setup. Other default passwords from years gone by on SMP include changeit, changeit2 and s3pAdmin.

 

Once you enter your password you will be shown a list of the existing certificates in your keystone. In the list you should see an entry with the alias smp_crt which is the one we will be replacing. First I usually delete the existing cert that I will be replacing using the command:

 

keytool -delete  -alias smp_crt -keystore smp_keystore.jks

Once executed you will again be prompted for your password for the keystore. You may also be prompted for the password for the key you are deleting which is the same as the keystore.

 

Now we have to replace the cert we just deleted. For me, I have been provided a certificate and private key pair in a PKCS12 format or pfx file. You can generate a private key on the sever and get this signed by your CA but I find it easier to simply import the whole cert in one go. One point on your cert - you need to make sure the password for your pfx file matches the password on the SMP keystore - this is a limitation on SMP.

 

Ok - two more steps, first we import the cert then we rename it to smp_crt. To import the cert we use the command:

 

keytool -importkeystore -srckeystore myNewSMPCert.pfx -destkeystore smp_keystore.jks -srcstoretype pkcs12

At this stage you will be prompted for the password for your keystore as well as your new certificate both of which should match. Now we have the certificate in we need to rename it or rather change the alias. To do this we first need to see what the current alias name is by running the list command we ran above earlier and identifying the cert we just imported. I usually do this by the cert date which I compare to the certificate. The lengthy string to the left of the date is the current alias of your certificate so simply copy it - it will look something like:

 

1.jpg

 

So the next command I run is to tell the keystore to take that certificate and rename the alias to smp_crt as follows:

 

keytool -changealias -alias "le-5ba8d3f9-dfa6-5e72-b488-ef3f76acae35" -destalias "smp_crt" -keystore smp_keystore.jks

Obviously replace the long HEX string with your own string and enter the passwords when prompted (they should all be the same).

 

And that is it for the SMP server, if you restart your SMP instances now and reload your browser (you may need to clear the cache) you will see that the certificate used to secure the communications is now the one you provided and hopefully one your browser trusts (if your setup is right).

 

SMP MBO 3.0 sidecar

 

The second area where you may have SSL certificates is of course on the old MBO sidecar. For MBOs there are, again, a number of ports we need to concern ourselves with:

 

2481 - for secure RBS (replication based sync) communications

8001 - for secure Web/REST communications

8283 - for the MBO sidecar admin console (the SAP Control centre)

 

The first two ports are pretty easy to update and can all be done from within the SCC. Simply log into your SAP Control centre (port 8283) and go to the configuration area on the left, then select the General tab and go to the SSL Configuration section. Once in there you can import a new certificate using the "Key Store Configuration" button.

 

2.jpg

 

Once in there use the "Import" function to upload the certificate selecting the type PKCS #12, a sensible alias and the password for the certificate. For me a sensible alias for my cert is something like "<serverHostname>-<CAName>" for example for the server SMP01 and CA myCA1 it would be SMP01-MYCA01.

 

Once this is uploaded you can adjust the security profile to use the new certificate. Simply change the default values below to match your new alias above and save to activate your certificate. And that is it for ports 2481 and 8001 once you restart your MBO sidecar services.

 

3.jpg

 

One more to go now - the certificate presented for the SAP Control Centre. This is slightly more....hidden

 

In this case we need to replace the certificate with the alias "jetty" in the keystore in SMP_HOME\SCC-3_2\services\EmbeddedContainer\keystore. The default password for this keystore is changeit unless it has been changed by your installer. The process to replace the certificate is the exact same as we did above:

 

  • Backup the keystore
  • List and identify the cert to be replaced (frequently there is only one cert in this keystore)
    • keytool -list -keystore keystore
  • Delete the existing cert with the alias "jetty"
    • keytool -delete  -alias jetty -keystore keystore
  • Import your new certificate
    • keytool -importkeystore -srckeystore myNewSMPCert.pfx -destkeystore keystore -srcstoretype pkcs12
  • Change the alias to match "jetty"
    • keytool -changealias -alias "le-5ba8d3X Y Z6acae35" -destalias "jetty" -keystore keystore
  • Restart all MBO services including the SCC

 

And that is it - you should have all SSL enabled ports presenting valid certificates now. SAP recommend using a wildcard certificate for multi-node environments (e.g. *.mycorp.com) as this makes the distribution work amongst many nodes.

 

Any questions/comments most welcome below.

 

Brenton.

How To...Consume OData Services in offline mode with OData SDK (iOS) (SMP3 SP4/SDK SP5)


How To... Configure the required SDK libs in the example Xcode project (SMP3 SP4/SDK SP5)

How To... Send Push Notifications to the Device (iOS) (SMP3 SP4/SDK SP5)

How To... Log and Trace Using the OData SDK (iOS) (SMP3 SP4/SDK SP5)

How To... Make Batch Requests Using the OData SDK (iOS) (SMP3 SP4/SDK SP5)

How To... Call OData Services to POST Data Using the OData SDK (iOS) (SMP3 SP4/SDK SP5)

Viewing all 539 articles
Browse latest View live


Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>