Skip to main content

Replace CSF KEYS in Oracle SOA 12C for Rest/SOAP Adapters

In 12c, the OWSM security policy configuration is saved to a separate file called wsm-assembly.xml
In order to update values in wsm-assembly.xml, the service needs to use the <policySet>.


e.g. A configuration plan is required to change both a HTTP port number, and the csf-key used by the oracle/wss_username_token_client_policy OWSM policy.

Replacement without configuration plan:

Open wsm-assembly.xml file and add below code

<?xml version='1.0' encoding='windows-1252'?>
<orawsp:wsm-assembly xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" xmlns:mds="http://xmlns.oracle.com/mds">
   <sca11:policySet xmlns:sca11="http://docs.oasis-open.org/ns/opencsa/sca/200912" name="policySet" appliesTo="SCA-REST-REFERENCE()" attachTo="REFERENCE('Get_Service_Now')" orawsp:highId="2" xml:id="SCA-REST-REFERENCE__REFERENCE__Get_Service_Now__">
      <wsp:PolicyReference xmlns:wsp="http://www.w3.org/ns/ws-policy" DigestAlgorithm="http://www.w3.org/ns/ws-policy/Sha1Exc" URI="oracle/wss_http_token_client_policy" orawsp:status="enabled" orawsp:id="1">
      <orawsp:OverrideProperty orawsp:name="csf-key" orawsp:value="yourkey"/>
      </wsp:PolicyReference>
      <wsp:PolicyReference xmlns:wsp="http://www.w3.org/ns/ws-policy" DigestAlgorithm="http://www.w3.org/ns/ws-policy/Sha1Exc" URI="oracle/log_policy" orawsp:status="enabled" orawsp:id="2"/>
   </sca11:policySet>
</orawsp:wsm-assembly>


Replacement with configuration plan:

To do this, <searchReplace> would be used to change the HTTP port number, while <policySet> would be used to change the csf-key :-

<searchReplace>
  <search>7777</search>
  <replace>8888</replace>
</searchReplace>
<policySet id="SCA-REFERENCE__REFERENCE__PartnerLink1___and_PORT__TIB_spcGroup_spcOrder_spcInsert_spcWorkflow_spcProcess__">
  <wsp:PolicyReference xmlns:wsp="http://www.w3.org/ns/ws-policy" DigestAlgorithm="http://www.w3.org/ns/ws-policy/Sha1Exc" URI="oracle/wss_username_token_client_policy" orawsp:status="enabled" orawsp:id="1">
    <orawsp:OverrideProperty xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy" orawsp:name="csf-key" orawsp:value="New-CSFKEY-value"/>
  </wsp:PolicyReference>
</policySet>


Comments

  1. very informative blog and useful article thank you for sharing with us , Oracle SOA Online Training

    ReplyDelete
  2. I tried to use configuration plan for replacing policy property values in my 12c project but while compiling it gives error as below
    Element 'policySet' not expected.
    I removed that then it gave below error
    Element 'PolicyReference' not expected.

    Its not working at all even if I try to do anything .
    Please help

    Below is the snippet from the configuration plan file.











    ReplyDelete

Post a Comment

Popular posts from this blog

Oracle SOA 12C rest adapter with Custom HTTP headers

Most existing web applications are connected through web services, which are commonly known as SOAP services. More and more users are relying on mobile devices for communication, and they’re looking for lighter ways to access enterprise information on the go. REST services are the answer for the mobile device platform, because they get rapid responses and fast access to data. Oracle SOA Suite 12 c  provides a complete set of service infrastructure components for designing, deploying, and managing composite applications. Oracle SOA Suite 12 c  enables services to be created, managed, and orchestrated into composite applications and business processes. Some time we have need to send HTTP headers in REST service, In OSB we use header component and add what ever is needed but in oracle SOA 12C it's little bit different. Let see how we can do it. Create one SOA Application. Create one SOA Sample project inside SOA Application. Go to composite and drag drop REST adapt

Dynamic Routing in OSB 12C

Dynamic Routing in OSB cab be used when the BusinessService endpoint required to be determine at runtime in message flow. Consider a scenario where OSB has to route the incoming requests to 2 different services based on the CustomerType element value sent in the payload. So create a XQuery resource with the following contents. Observe that we are using the absolute path of business service in configuration as required by dynamic routing. Following is the XML schema that we use:>>  Customer.xsd <?xml version="1.0" encoding="windows-1252" ?> <xsd:schema targetNamespace="http://xmlns.oracle.com/schema/Customer" xmlns:xsd="http://www.w3.org/2001/XMLSchema"             xmlns:ns1="http://xmlns.oracle.com/schema/Customer">   <xsd:complexType name="Customer">     <xsd:sequence>       <xsd:element name="CustomerId" type="xsd:string"/>       <xsd:elemen

Swagger API document from Any WADL & Schema in Oracle SOA

Hi everyone, Hope everyone is doing well these days, Recently i started a project work over how to generate swagger API document for your any REST API, In case if you don't know what is swagger please go and check " https://swagger.io/tools/swagger-editor/ ". It's a great and easy to use tool which will help to create user friendly, human readable form API documentation with extension for generating API client in different languages with capability of testing your API from same. What is swagger editor, Design, describe, and document your API on the first open source editor fully dedicated to OpenAPI-based APIs. The Swagger Editor is great for quickly getting started with the OpenAPI (formerly known as the Swagger Specification) specification, with support for Swagger 2.0 and OpenAPI 3.0.  What benefits you will get by using swagger, Runs Anywhere, The Editor works in any development environment, be it locally or in the web. Smart Feedback, Validate you