Saturday, February 27, 2016

OSB 12c - Domain Value map (DVM)


Hey guys !

Here I am going through the Domain Value map (DVM) functionality in OSB 12c.
In the 12c versions of OSB, Support for the DVM is included, Hence lets discuss the use case and Steps to implement DVM.

Use Case 

Simple Integration  Scenarios, Where Source system, Which sends data to Target System needs domain conversion of values.

A very typical example is Country name to Country Code conversion using DVM, i.e. Source system sends Country name and Target system expects Country code.

Design


Step 1 :

Open Jdevloper 12c (Service Bus console can also be used), Create a Service Bus Project.
I have given name to project as 'SBProject_DVM'

Step 2:

Create Source and target Schemas or WSDL (This is not a essential Step). For better demonstration, I Have used WSDL.



Step 3:

Create a Domain value map (CountryName_Code.dvm) and Add the Domain Name and Values. Atleast 2 rows needs be added.




Step 4:

Create a XSLT mapper (CountryNameToCode.xsl), Choose Source and Target to this mapper from your WSDL.



Step 5 :

User mapper to drag and Drop mapping element, Shown below




Step 6:

Go to XSLT source view and Edit the code as below 




Add this snippet 

<CountryCode>          
            <xsl:value-of select="DVMFunctions:lookupValue (&quot;SBProject_DVM/CountryName_Code&quot;, &quot;Name&quot;, string(/ns0:process/ns0:CountryName), &quot;Code&quot;, &quot;Unknown&quot; )"/>
 </CountryCode>



Now if you go to Design view, the below design will be visible





Step 7:

Create a new Pipeline Based on your WSDL and go to design view.
Add Pipeline pair to it, 
Inside Request Pipeline add a Stage. Inside stage add a 'Replace' action.
Inside Response Pipeline add a Reply action with Success.




Step 8:

Lets go to Replace action and use the Earlier created XSLT mapper to do the DVM  task.




In the input Field add the Variable which contains input element, as below





Step 9:

Save your changes and Export is to deploy to Test Server or Deploy directly from Jdeveloper.





Testing 

Step 1:

Open the Pipeline, click on test button, this will open in new window







Step 2:

Edit the request payload and click on Execute button to test it.








Voila !
You have successfully created DVM using OSB 12c


You can download the sbconfig jar of this project from
https://drive.google.com/file/d/0BxHj0h0tnxxOWWVYVXVvTGtWUGs/view?usp=sharing





Here are some other posts, which may interests you

1. Fusion Middleware 12c – SAP Adapter Configuration

http://osb-dheeraj.blogspot.in/2016/02/fusion-middleware-12c-sap-adapter.html

2. Oracle Integration Cloud Service (ICS)

http://osb-dheeraj.blogspot.in/2016/02/oracle-integration-cloud-service-ics.html


3. SOA Interview Questions : Service Oriented Architecture Interview Questions Part 1

http://osb-dheeraj.blogspot.in/2016/02/soa-interview-questions-service.html

Sunday, February 21, 2016

SOA Interview Questions : Service Oriented Architecture Interview Questions Part 5



What is a Complex XML Element?

A complex element is an XML element that contains other elements and/or attributes.
There are four kinds of complex elements:
empty elements
elements that contain only other elements
elements that contain only text
elements that contain both other elements and text


What is a Simple XML Element?

A simple element is an XML element that can contain only text.
A simple element cannot have attributes
A simple element cannot contain other elements
A simple element cannot be empty
However, the text can be of many different types, and may have various restrictions applied to it.


What is XPATH ?

XPath, the XML Path Language, is a query language for selecting nodes from an XML document. In addition, XPath may be used to compute values (e.g., strings, numbers, or Boolean values) from the content of an XML document.
The XPath language is based on a tree representation of the XML document, and provides the ability to navigate around the tree, selecting nodes by a variety of criteria.

XPATH  Syntax & Operators ?
Expression
Description
nodename
Selects all nodes with the name "nodename"
/
Selects from the root node
//
Selects nodes in the document from the current node that match the selection no matter where they are
.
Selects the current node
..
Selects the parent of the current node
@
Selects attributes
*
Matches any element node
@*
Matches any attribute node
node()
Matches any node of any kind



Example of some XPath Expressions ?

Example XML document
<?xml version="1.0" encoding="UTF-8"?>
<books>
                <book>
                                <title lang="en">Harry Potter</title>
                                <price>29.99</price>
                </book>
                <book>
                                <title lang="en">Learning XML</title>
                                <price>39.95</price>
                </book>
</books>


Example XPATH expressions and Result

Path Expression
Result
/books/book[1]
Selects the first book element that is the child of the books element.
/books/book[last()]
Selects the last book element that is the child of the books element
//title[@lang]
Selects all the title elements that have an attribute named lang
//title[@lang='en']
Selects all the title elements that have a "lang" attribute with a value of "en"
/books/book[price>35.00]
Selects all the book elements of the books element that have a price element with a value greater than 35.00



What is XSLT ?

XSLT (Extensible Stylesheet Language Transformations) is a language for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text or into XSL Formatting Objects.
The original document is not changed; rather, a new document is created based on the content of an existing one. Typically, input documents are XML files.


Example XSLT code ?

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="xml" indent="yes"/>
  <xsl:template match="/persons">
    <root>
      <xsl:apply-templates select="person"/>
    </root>
  </xsl:template>
</xsl:stylesheet>



XSLT vs XPATH ?

XSLT uses XPath to identify subsets of the source document tree and perform calculations.
XPath also provides a range of functions, which XSLT itself further augments.



How to refer another XSL from main XSL file ?

The <xsl:import> element is a top-level element that is used to import the contents of one style sheet into another.

Note: This element must appear as the first child node of <xsl:stylesheet> or <xsl:transform>.
Syntax: <xsl:import href="URI"/>


Why we use Call-template inside XSL ?

Call-template works similar to the apply-template element in XSLT. Both attach a template to specific XML data. This provides formatting instructions for the XML. The main difference between the two processes is the call function only works with a named template. You must establish a 'name' attribute for the template in order to call it up to format a document.

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
< xsl:call-template name="myTemplate">
< !-- Content: xsl -->
< /xsl:call-template>

< stylesheet>




Refer Previous post on Interview questions at

1. SOA Interview Questions : Service Oriented Architecture Interview Questions Part 1

http://osb-dheeraj.blogspot.com/2016/02/soa-interview-questions-service.html

2. SOA Interview Questions : Service Oriented Architecture Interview Questions Part 2


http://osb-dheeraj.blogspot.com/2016/02/soa-interview-questions-service_16.html

3. SOA Interview Questions : Service Oriented Architecture Interview Questions Part 3

http://osb-dheeraj.blogspot.com/2016/02/soa-interview-questions-service_21.html

4. SOA Interview Questions : Service Oriented Architecture Interview Questions Part 4

http://osb-dheeraj.blogspot.com/2016/02/soa-interview-questions-service_77.html


SOA Interview Questions : Service Oriented Architecture Interview Questions Part 4



What is XML ?

Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format which is both human-readable and machine-readable. It is defined by the W3C's XML 1.0 Specification
The design goals of XML emphasize simplicity, generality and usability across the Internet. XML was designed to store and transport data, and designed to be self-descriptive.


Sample XML file ?

<?xml version="1.0" encoding="UTF-8"?>
<Message>
    <MessageID>1</MessageID>
    <Operation>Update</Operation>
    <Inventory>                                      
         <Quantity>55</Quantity>          
    </Inventory>
</Message>



What are Main Key Terminology of XML ?

Tag
A markup construct that begins with < and ends with >. Tags come in three flavors:
start-tags; for example: <section>
end-tags; for example: </section>
empty-element tags; for example: <section/>

Element
A logical document component which either begins with a start-tag and ends with a matching end-tag or consists only of an empty-element tag.
The characters between the start- and end-tags, if any, are the element's content, and may contain markup, including other elements, which are called child elements.
An example of an element is
<Greeting>Hello, world</Greeting>
Another is
<line-break />

Attribute
A markup construct consisting of a name/value pair that exists within a start-tag or empty-element tag.
In the example (below) the element img has two attributes, src and desc:
<img src="myimage.jpg" desc='my image' />



What is Data Object model (DOM) ?

The Document Object Model (DOM) is an interface-oriented application programming interface that allows for navigation of the entire document as if it were a tree of node objects representing the document's contents. A DOM document can be created by a parser, or can be generated manually by users.



What is difference between XML & HTML ?

XML was developed to describe data and to focalize on what the data represent.
HTML was developed to display data about to focalize on the way that data looks.
HTML is about displaying data, XML is about describing information.
XML is extensible.The tags used to mark the documents and the structures of documents in HTML are pre-defined.
The author of HTML documents can use only tags that were previously defined in HTML.
The Standard XML gives you the possibility to define personal structures and tags.



What is XML Schema (XSD) ?

An XML Schema describes the structure of an XML document. XSD (XML Schema Definition) is the language used to describe schema. They use a rich datatyping system and allow for more detailed constraints on an XML document's logical structure.


Write a sample Schema File ?

<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.example.org"
            targetNamespace="http://www.example.org" elementFormDefault="qualified">
  <xsd:element name="exampleElement" type="xsd:string">
    <xsd:annotation>
      <xsd:documentation>A sample element</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
</xsd:schema>





What is Inline schema ?

Inline schemas are a way of including the schema within a WSDL file rather than specifying that it be imported. A schema defines the structure of an XML document. A schema is itself an XML document defined with an xsd extension.


Difference between Include and Import in context to XML schema ?

The fundamental difference between include and import is that you must use import to refer to declarations or definitions that are in a different target namespace and you must use include to refer to declarations or definitions that are (or will be) in the same target namespace.



What Is XML Namespace ?

XML namespaces are used for providing uniquely named elements and attributes in an XML document. They are defined in a W3C recommendation. XML Namespaces enable the same document to contain XML elements and attributes taken from different vocabularies, without any naming collisions occurring.
An XML namespace is declared using the reserved XML attribute xmlns or xmlns:prefix,
xmlns:xhtml="http://www.w3.org/1999/xhtml"


What is targetNamespace ?

<schema xmlns="http://www.w3.org/2001/SchemaXML         targetNamespace="http://www.example.com/name"         xmlns:target="http://www.example.com/name">

The targetNamespace declares a namespace for other xml and xsd documents to refer to this schema. The target prefix in this case refers to the same namespace and you would use it within this schema definition to reference other elements, attributes, types, etc. also defined in this same schema definition.


What is ElementFormDefault ?

The form for elements declared in the target namespace of this schema. The value must be "qualified" or "unqualified". Default is "unqualified". "unqualified" indicates that elements from the target namespace are not required to be qualified with the namespace prefix. "qualified" indicates that elements from the target namespace must be qualified with the namespace prefix.


What is AttributetFormDefault ?


The form for attributes declared in the target namespace of this schema. The value must be "qualified" or "unqualified". Default is "unqualified". "unqualified" indicates that attributes from the target namespace are not required to be qualified with the namespace prefix. "qualified" indicates that attributes from the target namespace must be qualified with the namespace prefix.




Refer Previous post on Interview questions at

1. SOA Interview Questions : Service Oriented Architecture Interview Questions Part 1

http://osb-dheeraj.blogspot.com/2016/02/soa-interview-questions-service.html

2. SOA Interview Questions : Service Oriented Architecture Interview Questions Part 2

http://osb-dheeraj.blogspot.com/2016/02/soa-interview-questions-service_16.html

3. SOA Interview Questions : Service Oriented Architecture Interview Questions Part 3

http://osb-dheeraj.blogspot.com/2016/02/soa-interview-questions-service_21.html

SOA Interview Questions : Service Oriented Architecture Interview Questions Part 3


What is WSDL ?

The Web Services Description Language (WSDL) is an XML-based interface definition language that is used for describing the functionality offered by a web service. The WSDL provides a machine-readable description of how the service can be called, what parameters it expects, and what data structures it returns.


Can you write a sample WSDL ?

<?xml version="1.0" encoding="UTF-8" ?>
<definitions targetNamespace="tns:https://www.DemoService.test" xmlns="http://schemas.xmlsoap.org/wsdl/"
             xmlns:tns="tns:https://www.DemoService.test" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
             xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">

<!-- Abstract type -->
  <types>
    <xsd:schema targetNamespace="tns:https://www.DemoService.test/types" elementFormDefault="qualified"/>
  </types>

<!-- Abstract Message -->
  <message name="NewMessage">
    <part name="in" element="xsd:any"/>
  </message>
  <message name="NewReturnMessage">
    <part name="return" element="xsd:any"/>
  </message>

<!-- Abstract Port Type -->
  <portType name="DemoServicePortType">
    <operation name="NewOperation">
      <input message="tns:NewMessage"/>
      <output message="tns:NewReturnMessage"/>
    </operation>
  </portType>

<!-- Concrete Binding with SOAP-->
  <binding name="DemoServiceBinding" type="tns:DemoServicePortType">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="NewOperation">
      <soap:operation style="document" soapAction="tns:https://www.DemoService.test/NewOperation"/>
      <input>
        <soap:body use="literal" parts="in"/>
      </input>
      <output>
        <soap:body use="literal" parts="return"/>
      </output>
    </operation>
  </binding>

<!-- Concrete Service location-->
  <service name="DemoService">
    <port name="DemoServicePort" binding="tns:DemoServiceBinding">
      <soap:address location="http://www.example.com"/>
    </port>
  </service>

</definitions>


How are different Elements of WSDL related ?

This can be understood by below representation





Explain different versions of WSDL standards ?

The current version of the specification is 2.0; version 1.1 has not been endorsed by the W3C but version 2.0 is a W3C recommendation.





Explain elements/tags of WSDL ?


WSDL 1.1 Term
WSDL 2.0 Term
Description
Service
Service
Contains a set of system functions that have been exposed to the Web-based protocols.
Port
Endpoint
Defines the address or connection point to a Web service. It is typically represented by a simple HTTP URL string.
Binding
Binding
Specifies the interface and defines the SOAP binding style (RPC/Document) and transport (SOAP Protocol). The binding section also defines the operations.
PortType
Interface
Defines a Web service, the operations that can be performed, and the messages that are used to perform the operation.
Operation
Operation
Defines the SOAP actions and the way the message is encoded, for example, "literal." An operation is like a method or function call in a traditional programming language.
Message
n/a
Typically, a message corresponds to an operation. The message contains the information needed to perform the operation. Each message is made up of one or more logical parts. Each part is associated with a message-typing attribute. The message name attribute provides a unique name among all messages. The part name attribute provides a unique name among all the parts of the enclosing message.
Messages were removed in WSDL 2.0, in which XMLschema types for defining bodies of inputs, outputs and faults are referred to simply and directly.
Types
Types
Describes the data. The XML Schema language (also known as XSD) is used (inline or referenced) for this purpose.


What are  different types of WSDL ?
There are two types of WSDL
1.       Concrete WSDL
Abstract WSDL 


Can you define types of  WSDL ?

 Abstract WSDL contains only Types, Messages and Operations. Abstract WSDL is used by server side components programming.

Concrete WSDL contains all elements of WSDL, such as Types, Messages, Operations , Binding and Service transport specific information (JMS or Http). This is used by client side components. 





Refer Previous post on Interview questions at

1. SOA Interview Questions : Service Oriented Architecture Interview Questions Part 1

http://osb-dheeraj.blogspot.com/2016/02/soa-interview-questions-service.html

2. SOA Interview Questions : Service Oriented Architecture Interview Questions Part 2

http://osb-dheeraj.blogspot.com/2016/02/soa-interview-questions-service_16.html

Friday, February 19, 2016

weblogic server Error - ORA-00257: archiver error. Connect internal only, until freed

ORA-00257: archiver error. Connect internal only, until freed


Recently I was trying to open Oracle Service bus console, it was not opening. Then I logged into Weblogic console, where inside server tab, all Managed Servers and Admin server was in Warning state.

With curiosity I wanted to know, what is wrong with the servers. so I opened the weblogic server logs. In the logs the below content was repeatedly written


Error

Feb 19, 2016 2:21:00 AM oracle.security.jps.internal.idstore.util.LibOvdUtil pushLdapNamesToLibOvd
INFO: Pushed ldap name and types info to libOvd. Ldaps : DefaultAuthenticator:idstore.ldap.provideridstore.ldap.
[EL Severe]: ejb: 2016-02-19 02:21:00.467--ServerSession(1545095313)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: ORA-00257: archiver error. Connect internal only, until freed.

Error Code: 257
[EL Severe]: ejb: 2016-02-19 02:21:00.546--ServerSession(1545095313)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: ORA-00257: archiver error. Connect internal only, until freed.

Error Code: 257
[EL Severe]: ejb: 2016-02-19 02:21:00.62--ServerSession(1545095313)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: ORA-00257: archiver error. Connect internal only, until freed.

Error Code: 257
Feb 19, 2016 2:21:00 AM oracle.security.jps.internal.config.OpssCommonStartup start
INFO: Jps startup failed.
<Feb 19, 2016 2:21:00 AM MST> <Error> <Security> <BEA-090892> <The loading of an OPSS java security policy provider failed due to an exception. See the exception stack trace or the server log file for the root cause. If there is no obvious cause, enable the debug flag -Djava.security.debug=jpspolicy to get more information. Error message: null>
<Feb 19, 2016 2:21:00 AM MST> <Critical> <WebLogicServer> <BEA-000386> <Server subsystem failed. Reason: A MultiException has 6 exceptions.  They are:
1. weblogic.security.SecurityInitializationException: The loading of an OPSS java security policy provider failed due to an exception. See the exception stack trace or the server log file for the root cause. If there is no obvious cause, enable the debug flag -Djava.security.debug=jpspolicy to get more information. Error message: null
2. java.lang.IllegalStateException: Unable to perform operation: post construct on weblogic.security.PreSecurityService
3. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.security.SecurityService errors were found
4. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.security.SecurityService
5. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.nodemanager.adminserver.NodeManagerMonitorService errors were found
6. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.nodemanager.adminserver.NodeManagerMonitorService

A MultiException has 6 exceptions.  They are:
1. weblogic.security.SecurityInitializationException: The loading of an OPSS java security policy provider failed due to an exception. See the exception stack trace or the server log file for the root cause. If there is no obvious cause, enable the debug flag -Djava.security.debug=jpspolicy to get more information. Error message: null
2. java.lang.IllegalStateException: Unable to perform operation: post construct on weblogic.security.PreSecurityService
3. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.security.SecurityService errors were found
4. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.security.SecurityService
5. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of weblogic.nodemanager.adminserver.NodeManagerMonitorService errors were found
6. java.lang.IllegalStateException: Unable to perform operation: resolve on weblogic.nodemanager.adminserver.NodeManagerMonitorService

        at org.jvnet.hk2.internal.Collector.throwIfErrors(Collector.java:88)
        at org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:269)
        at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:413)






[EL Severe]: ejb: 2016-02-19 02:20:59.486--ServerSession(1545095313)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: ORA-00257: archiver error. Connect internal only, until freed.

Error Code: 257
Feb 19, 2016 2:20:59 AM oracle.security.jps.internal.common.config.AbstractSecurityStore getSecurityStoreVersion
WARNING: Unable to get the Version from Store returning the default
oracle.security.jps.service.policystore.PolicyStoreException: javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: ORA-00257: archiver error. Connect internal only, until freed.

Error Code: 257
        at oracle.security.jps.internal.policystore.rdbms.JpsDBDataManager.processJPAException(JpsDBDataManager.java:2180)
        at oracle.security.jps.internal.policystore.rdbms.JpsDBDataManager.init(JpsDBDataManager.java:1028)
        at oracle.security.jps.internal.policystore.rdbms.JpsDBDataManager.jpsObjectBaseQuery(JpsDBDataManager.java:3089)
        at oracle.security.jps.internal.policystore.rdbms.JpsDBDataManager.queryBaseObjects(JpsDBDataManager.java:5761)
        at oracle.security.jps.internal.common.config.AbstractSecurityStore.getSecurityStoreVersion(AbstractSecurityStore.java:211)
        at oracle.security.jps.internal.common.config.AbstractSecurityStore.getSecurityStoreVersion(AbstractSecurityStore.java:195)
        at oracle.security.jps.internal.common.config.AbstractSecurityStore.<init>(AbstractSecurityStore.java:99)
        at oracle.security.jps.internal.keystore.FarmKeyStoreServiceImpl.<init>(FarmKeyStoreServiceImpl.java:121)
        at oracle.security.jps.internal.keystore.ldap.LdapKeyStoreServiceImpl.<init>(LdapKeyStoreServiceImpl.java:106)
        at oracle.security.jps.internal.keystore.KeyStoreProvider.createInstance(KeyStoreProvider.java:356)
        at oracle.security.jps.internal.keystore.KeyStoreProvider.createInstance(KeyStoreProvider.java:329)
        at oracle.security.jps.internal.keystore.KeyStoreProvider.getInstance(KeyStoreProvider.java:271)
        at oracle.security.opss.internal.runtime.ServiceContextManagerImpl.createContextInternal(ServiceContextManagerImpl.java:432)
        at oracle.security.opss.internal.runtime.ServiceContextManagerImpl.createDefaultContext(ServiceContextManagerImpl.java:216)
        at oracle.security.opss.internal.runtime.ServiceContextManagerImpl.initialize(ServiceContextManagerImpl.java:156)
        at oracle.security.opss.internal.runtime.ServiceContextManagerImpl.initialize(ServiceContextManagerImpl.java:112)
        at oracle.security.jps.internal.config.OpssCommonStartup$1.run(OpssCommonStartup.java:158)
        at java.security.AccessController.doPrivileged(Native Method)
        at oracle.security.jps.internal.config.OpssCommonStartup.start(OpssCommonStartup.java:110)
        at oracle.security.jps.wls.JpsWlsStartup.start(JpsWlsStartup.java:80)


Solution

This error is related with the Database available space issue. Check with Database team, if your Database is handled by different team, If you handle database by yourself, then look for the available space in Database.
Once you have, increased the space in the Database for the schemas which are being used by Weblogic servers, then you can restart weblogic server instances.
The error will be gone, now you can open your applications. 

Wednesday, February 17, 2016

Fusion Middleware 12c Inbound - SAP Integration using SAP Adapter - Part 2

This post is in Continuation with my previous post, You can find Part 1 at:

Fusion Middleware 12c Inbound - SAP Integration using SAP Adapter

http://osb-dheeraj.blogspot.in/2016/02/fusion-middleware-12c-inbound-sap.html







Lets continue with the Further steps


Run Time configurations

To start with Run time configuration, Log in to Weblogic Administration console of your domain.
a. Navigate to: Home >Summary of Deployments >SAPAdapter.
Then click on Configuration tab. Refer below screenshot



b. Then Click on ‘Outbound Connection Pool’ Tab



c. Click ‘Lock & Edit’ in Change Center . Then Click ‘New’ button to create a new Outbound connection.



d. Clicking New button will start a create connection wizard. Select the existing Connection Factory, Then click Next



e. Provide JNDI name same as you have given during Design Time, Then Click Finish button.



f. Expand the Connection Factory by Clicking on ‘+’ button, You will see your new JNDI.



g. Now click on the JNDI name, it will take you to Properties tab. Enter all of the Below properties
and hit enter after each entry. These are same properties which was used during Design time.
UserName (DestinationDataProvider_JCO_USER)
Password (DestinationDataProvider_JCO_PASSWD)
Client (DestinationDataProvider_JCO_CLIENT)
Language (DestinationDataProvider_JCO_LANG)
Application Server (DestinationDataProvider_JCO_ASHOST)
System Number (DestinationDataProvider_JCO_SYSNR)
Gateway Host (ServerDataProvider_JCO_GWHOST)
Gateway Service (ServerDataProvider_JCO_GWSERV)
Program ID (ServerDataProvider_JCO_PROGID)
Connection Count (ServerDataProvider_JCO_CONNECTION_COUNT)






h. Click on the Save button, once all the properties are updated.



i. As you can see in previous screen, now we need to Update the Deployment from using the Plan.xml, Navigate to : Home >Summary of Deployments. Check the box before SapAdapter.



j. After Clicking on Update button, You will see a screen similar to below. Select ‘Update this application in place with new deployment plan changes’ and Check the Plan.xml location. If not correct, then update the location.



k. Click on the Finish Button. After this, Activate the changes from Change Center.



l. Now you can deploy the Integration which was created using Jdevloper in Design Time.
m. Once Integration is Deployed successfully, you can test it using Inbuilt testing console, in Service bus.





If  you want to download, configure and install required files for SAP Adapter, refer below:

Fusion Middleware 12c – SAP Adapter Configuration

http://osb-dheeraj.blogspot.in/2016/02/fusion-middleware-12c-sap-adapter.html




If you want to create Outbound from Fusion Middleware 12c to SAP then refer my previous Blog Post at :

Fusion Middleware 12c Outbound - SAP Integration using SAP Adapter

http://osb-dheeraj.blogspot.in/2016/02/fusion-middleware-12c-outbound-sap.html