Thursday 24 May 2018

SOACS - ERP CALLBACK IMPLEMENTATION STEPS


ERP CALLBACK IMPLEMENTATION STEPS

    •  Get the user credentials to invoke the SAAS web service
    •  Create a same user in SOACS and password may be anything
    •  Import all SOACS certificates on to ERP servers using security console
    •  Import all SAAS certificates on to SOACS server using EM console.
    • Got to Domain folder in em conole
    • Select Security , Keystore
    • Select System and trust keystore
    • Select Manage option 
    • Import the SAAS certificate
    • Use the following steps to get the SAAS certificate. 
      • Access SAAS URL 
      • Select the lock button in the URL
      • Select certificate
      • Go to details
      • Select copy certificate to file option
      • Use Base 64 Encode format
      • Save the file as *.cer file. 
    • Import SAAS OWSM certificates in SOA EM console
      • Access SAAS WSDL and get the certificates. (Look at the bottom of the WSDL and you will get the certificates
      • https://HostName:port/publicFinancialCommonErpIntegration/ErpIntegrationService?wsdl
      • Copy the certificates and save it as .cer files
      • Open the cer files and get the issuesd to name. 
      • Got to Security and Keystore under domain
      • Create a stripe called owsm
      • Under owsm create a keystore called keystore. 
      • select the keystore and click manage option in the top.
      • import the above owsm certificates with issuer name as alias. ($issuedto.cloud.oracle.com) (CN=$IssuedName, DC=cloud, DC=oracle, DC=com)
    • Create a SOA Composite to invoke ERP service using following WSM policy.
      • Oracle/wss_http_token_over_ssl_client_policy
      • Attach CSF key to the policy.
    • Create a SOA composite to receive the callback from ERP service. Use the following WSM policy to receive the call back.
      • Oracle/wss_saml_bearer_or_username_token_service_policy
Use the following sample xsd and wsdl files to receive the callback message.

<?xml version='1.0' encoding='UTF-8'?>
<schema attributeFormDefault="unqualified" targetNamespace="http://xmlns.oracle.com/SOACoreServices/ERPCallbackServiceService/ERPCallbackService" xmlns="http://www.w3.org/2001/XMLSchema">
<element name="ERPCallbackInput">
<complexType>
<sequence>
<element name="requestId" type="string"/>
<element name="state" type="string"/>
<element name="resultMessage" type="string"/>
</sequence>
</complexType>
</element>
</schema>


<?xml version= '1.0' encoding= 'UTF-8' ?>
<wsdl:definitions
     name="ERPCallbackService"
     targetNamespace="http://oracle.com/sca/soapservice/SOACoreServices/ERPCallbackServiceService/ERPCallbackService"
     xmlns:tns="http://oracle.com/sca/soapservice/SOACoreServices/ERPCallbackServiceService/ERPCallbackService"
     xmlns:inp1="http://xmlns.oracle.com/SOACoreServices/ERPCallbackServiceService/ERPCallbackService"
     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    >
    <wsdl:types>
        <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <xsd:import namespace="http://xmlns.oracle.com/SOACoreServices/ERPCallbackServiceService/ERPCallbackService"
                 schemaLocation="../Schemas/ERPCallbackService.xsd"/>
        </xsd:schema>
    </wsdl:types>
    <wsdl:message name="onJobCompletionRequestMessage">
        <wsdl:part name="ERPCallbackInput_pn" element="inp1:ERPCallbackInput"/>
    </wsdl:message>
    <wsdl:portType name="onJobCompletion_ptt">
        <wsdl:operation name="onJobCompletion">
            <wsdl:input message="tns:onJobCompletionRequestMessage"/>
        </wsdl:operation>
    </wsdl:portType>
</wsdl:definitions>





Create Database Wallet for Password Less Connection

1. Create a new TNS entry as below ($ORACLE_HOME/NETWORK/ADMIN/TNSNAMES.ORA)

SAMPLEDBCS =
( DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST = localhost) (PORT = 1521))
   (CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = SID_OF_DATABASE)
)
)


2. Update SQLBET.ora for the following ($ORACLE_HOME/NETWORK/ADMIN/SQLNET.ORA)

SQLNET.WALLET_OVERRIDE = TRUE
WALLET_LOCATIN = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /u01/abc/xyz/vijaysamplewallet)))
SSL_VERSION = 1.2

3. Create a physical wallet under the above mentioned directory path.

4. Create Wallet Store:

mkstore -wrl /u01/abc/xyz/vijaysamplewallet -create

5. Create Credentails into wallet store :

mkstore -wrl /u01/abc/xyz/vijaysamplewallet -createCredential vijay_credentails user_id <password>

6. Test the connection
sqlplus /@vijay_credentails

IDCS - Identity Federation with Azure and Google (SAML IDP & Social IDP)

  Collect IDCS Meta Data Enable "Access Signing Certificate" option to get the IDCS metadata.   Default Domain Settings ->  Sel...