========================================================================
What is a Web Service?
:- Basically
Service itself is a self explanatory word which means to serve something
to the caller party. It can be anything. For Example :- A Vending Machine,
which gives you desired product in return of your money or In a restaurant
where waiter used to serve you food which you have ordered. Every service
follows the request/response model. Request and response can be in any form or
medium.
In Our SOA world, Web Service
can be defined as below.
The Web Services Description
Language (WSDL) client interface, which defines the input and output messages
for this BPEL process flow, the supported client interface and operations, and
other features. This functionality enables the BPEL process flow to be called
as a service.
There are two types of service
available in SOA.
1. Soap Based Service.
2. Restful Service or Rest
Service.
========================================================================
What is a SOAP Based
Service?
:- Soap based services are mainly deals with XML messages. WSDL represents SOAP based service.
========================================================================
What is a Restful Service?
:- Restful
service used the HTTP verb, For example Get, Post, Put, Delete.
It mainly deals with both type
of message format JSON and XML. Searching any video on YouTube is a perfect
example of restful service or liking/commenting/posting some information on Face
book is also an example of restful service.
WADL represents the restful service.
Note :- Soap - UI is a tool which
is useful to test both type of services.
========================================================================
Difference between XML & JSON ?
:- XML and JSON are the data exchange formats used in development of Web Applications/Web Service. Both are different from each other are used at their right place. JSON is extended from the JavaScript while that XML has been extended from SGML(Standard Generalised Markup Language). Syntax of JSON is lighter than XML as JSON does not contain start and end tags but XML do have start and end tags. JSON supports data type and arrays while XML does not provide data type and does not support array. XML support for Namespaces and Comments while JSON does not support Namespaces and comments.
- JSON is extended from the
JavaScript while that XML has been extended from SGML.
- XML stands for “Extensible
Markup Language” while JSON stands for “JavaScript Object Notation”.
- Syntax of JSON is lighter than
XML
- JSON does not contain start and
end tags but XML do have start and end tags.
- JSON supports data type and
arrays while XML does not provide data type and does not support array.
- XML support for Namespaces
while JSON does not support Namespaces
- XML support for Comments while
JSON does not support Comments.
- JSON is better for web services
while XML is better for configuration.
- JSON data cannot be changeable
to other formats while XML data can be changed into other formats like
plain text, JSON.
- Mapping is quite easy in JSON
than in XML as JSON is data oriented while XML is document oriented.
Sample JSON and
XML :-
========================================================================
Difference between SOAP & REST ?:- In the world of integration and web services, SOAP and REST has their own significance.
Both are having their advantages and
disadvantages.
SOAP is a protocol and REST is an architecture.
SOAP
|
REST
|
It's a protocol
|
It's an architecture
|
It has its own web service security
standards
|
It relies on HTTP security(Browser Security)/Certificate
Level security (TLS,SSL)
|
When any machine to machine or application
to application integration required, SOAP is best.
|
For Building Public
Facing API or doing any CRUD operation, Rest is the undisputed Champion.
|
Data exchange format is xml
|
Data exchange format can be
XML,Json,Text,Csv etc
|
End point of SOAP based service is WSDL
|
Endpoint of Rest Based Service is WADL
|
Uses only Post HTTP verb
|
Uses all the features of HTTP
verbs(Get,Post,Put,Delete)
|
Url based testing cannot be done.
|
Url Based Testing can be done.
|
========================================================================
Difference between Mediator & OSB ?
========================================================================
What is a SOAP Message ?:- A SOAP message is XML-based formatted structure for Input and output messages.
soap message have one soap envelope which
consist of below part.
1. Soap
Header(optional). It contains multiple entries of soap header. It mainly
contains information about security, token, ws addressing etc.
2. Soap
Body (Mandatory). It contains main element of message.
3. Soap
fault(Optional). It contains fault details.
For more information go to below link.
========================================================================
Difference between WSDL & WADL ?
========================================================================
How to Poll Single file from FTP/File location which has multiple files ?
:- Lets take one example if we have include file wild card as *.txt and there are 2 files available at File/FTP Location. So read operation will read both the file and create two instance and created time will be same for both the instance. To avoid such scenario and read only one file at a time, we need to use below property in jca file.
<property name="MaxRaiseSize" value="1"/>
========================================================================
What is Top-down and Bottom-Up approach in SOA ?
========================================================================
What is file rejection handler in read operation of file adapter and how to use it ?
========================================================================
:- Sometime while doing development we come accross a situation where we need to achieve If-Else condition with in copy tag of assign activity. For doing this we need to understand the concept of below functions in SOA.
1. Substring("Hello World",1) -> Output would be HelloWorld
2. Divide Function , 2 div 1 -> output would be 2 or 1 div 1 output would be 1.
So if we some how manage to get divide function output as 1 then same output can be passed in Substring Function as a Start Index.
Now the question arise, how to get output of divide function as 1.
lets say I have one string variable temp. and value of that variable is 'hello'
then $temp = 'hello' will give output as 'true'
and
$temp = 'value other then hello' will give output as 'false'
1 div ($temp = 'hello') , this would give output as 1 (This condition will always provide output as 1)
and
1 div not ($temp = 'hello') , this would give output as 'Infinity'
Now come Back to the If-Else functionality in Assign. below is the expression that work like If-Else in Assign.
concat(substring('Success_if', 1 div ($temp = 'hello')),substring('Failure_else', 1 div not ($temp = 'hello')))
So if you pass input as hello then output of above express will come as 'Success_If'.
if you pass input other than hello then output of above express will come as 'Failure_else'.
========================================================================
Let’s suppose,
I have pushed one
message in queue and before consuming my server went down, so what will you do,
not to lose data?
What is debatching in case of file adapter?
What is Polling? How many ways we can do polling with DB Adapter?
What are the components that are there in 11g not present in 10g
Difference between dvm and xref
If I have huge size file(some gbs) how to process?
What is XSLT 2.0?
What is the conecpt of For-each group in transformation?
What is mds? How do you update mds? Can we update through jdev
Do you have knowledge on Jms concepts? Queue and topic difference
Can we configure 2 applications listening to same queue with same configuration? If so what decides which one will pick the message
What is durable process?
Which are the activities for dehydration? What are they called
Does Synchronous process dehydrate?
While a process which reads a large size file is running, server crashes. When it starts again from where will the execution be?
Difference between EBO and EBM?
How to customized EBO’s?
How do you access file placed in mds?
What are correlation sets?
What is wsdl? Explain its components?
What kind of wsdl do you place in mds abstract/ concrete? Why do you place abstract?
Can a webservice have without wsdl?
How to invoke restful services?
Can we have more than one port type? If so which case
If a wsdl has multiple operations, what decides which operation to choose?
What is file min age in file adapter?
What is fault policy?
If a db adapter has a retry of 5 and there is a fault policy associated which has a retry of 4, which one will get executed?
What is Concept of mediator? What is message sequencing?
Concepts of human task and business rules?
What are correlation sets? And how to implement it?
How to create schema for a file csv separated by special character ( special characters not on the keyboard)?
How do you create the AIA interfaces? Do you follow the standards? Do you know about workbench?
Assume a situation with multiple nodes in the server, all the nodes have an instance of file picking process. Now when the file is placed all the instance which are polling will try to pick the file. How do you ensure that the file is picked only by one of the node?
In the transformation activity can we have multiple schemas(target)?
What is difference between JMS,MQ and AQ Queues?
What are the type of wsdl?
:-Rpc and Document Literal type wsdl.
How to secure your composite or web-service?
What is Two phase and one phase commit?
What is XA and NON-XA datasources?
Concepts of Transactions?(async.persist,async.cache,sync)?
What is Target and Default Namespace in any schema?
How to validate an Input Message?
What is Dehydration State?
What is data source rollback?(XA or NON-XA)
What is Persistence Store? Which one is default persistence store?
How to invoke Custom Fault?
How to ensure guaranteed delivery of messages?
What is Connection Factory and Connection pool?
If a Sync Will call a
Async Service will it wait for the response of Async Service?
No it will not wait. port concept.
How to validate an Input
Message? What is difference between verification and validation.?
What is dehydration?
What is Database or
datasource Rollback?
What is JNDI ? What is
the use of this? How to configure it?
JNDI Name: The JNDI
name to use for the JMS connection. As in the previous example, this is
probably the most common source of error. This is the JNDI name of the JMS
adapter’s connection pool created in the WebLogic Server and which points to
the connection factory. JDeveloper does not verify the value entered here. If
you enter a wrong value, the JMS adapter won’t find the queue and you will get
an error message at runtime, which is very difficult to trace.
If in a DB adapter you
are giving wrong JNDI name so it will be error out compile time or run time?
If a consumer is
consuming a meesage and want to write in a file. Before writing some error
happen? What will happen to that message?
What is difference
Between File and FTP adapter.?
File adapter is
basically used to read,write files locally on your server. And FTP adapter is
basically used to read and write files from any network.
How to start a BPEL
Process when email received?
When to use Opaque
schema?
How to migrate ESB services.
Data sources and connection factories for both the 10g and
11g infrastructures can point to same targets.
Turn off all services on the 10g infrastructure that does
polling (e.g., JMS Adapter consume, AQ Adapter dequeue, DB Adapter polling). If
not, polling services will compete on both the old and new infrastructures.
MDS Meta Data Services
AIA Components
Fault Plocies
Xref
WSDL
DVM Config
Ensure that the “Invocable from an external web service” is
selected for all ESB routing services.
7. Open all .esbsvc files in a text editor.
a. Delete all “parent” lines that have lines similar to the
following:
<parent guid="96DD76C0971311DABF1A87858E4395A7"
qname="DefaultSystem" type="system"/>
b. Change all remaining “qname” references and remove the
system and service groups as follows:
OLD: qname="DefaultSystem.Accounting.HelloWorld"
NEW: qname="HelloWorld"
Correlation ID
When an asynchronous service is initiated with the invoke
activity, a correlation ID unique to the client request is also sent (using WS
Addressing). Because multiple processes may be waiting for service callbacks,
Oracle BPEL Server must know which BPEL process instance is waiting for a
callback message from the loan application approver Web service. The
correlation ID enables Oracle BPEL Server to correlate the response with the
appropriate requesting instance.
WS Addressing
WS Addressing defines the following information typically
provided by transport protocols and messaging systems. This information is
processed independently of the transport or application:
Endpoint location (reply-to address)
The reply-to address specifies the location at which a BPEL
client is listening for a callback message.
Conversation ID
Use TCP tunneling to view SOAP messages exchanged between
the BPEL process flow and the Web service (including those containing the
correlation ID). You can see the exact SOAP messages that are sent to, or
received from, services with which a BPEL process flow communicates.
You insert a software listener between your BPEL process
flow and the Web service. Your BPEL process flow communicates with the listener
(called a TCP tunnel). The listener forwards your messages to the Web service,
and also displays them. Responses from the Web service are returned to the
tunnel, which displays them and forwards them back to the BPEL process.
WSDL Concept
http://predic8.com/wsdl-reading.htm
Understanding Queue.
http://www.wmoug.org/downloads/WMOUG_2011Spring_IPNWEB_Queues.pdf
SOA11g Topics to read.
1. Composite
with BPEL
2. composite
with Mediator
3. Bussiness
Rules
4. Human
Workflow
5. XML,XSLT,XSD,WSDL
and WS addressing.
Why do message remain visible after
being dequed.?and how to do manual Dequeue.
Check for retention Time
SELECT owner, name, retention FROM all_queues WHERE name
LIKE 'WF%';
Fetch status of message.
SELECT msg_state, count(*) FROM applsys.aq$wf_deferred GROUP
BY msg_state;
SELECT msg_state FROM applsys.aq$wf_deferred WHERE msg_id =
<your message ID>;
http://www.workflowfaq.com/why-do-messages-remain-visible-after-being-dequeued
What is the difference between Queue
and topic?
In queues, one message can be consumed by only one client.
But in the topics, one message can be consumed by many clients. Both are
separate domains in MOM.
Queue represent Point-To-Point domain and Topic represent
Pub/Sub domain
A point-to-point (PTP) product or application is built
around the concept of message queues, senders, and receivers. Each message is
addressed to a specific queue, and receiving clients extract messages from the
queue(s) established to hold their messages. Queues retain all messages sent to
them until the messages are consumed or until the messages expire.
In a publish/subscribe (pub/sub) product or application,
clients address messages to a topic. Publishers and subscribers are generally
anonymous and may dynamically publish or subscribe to the content hierarchy.
The system takes care of distributing the messages arriving from a topic's
multiple publishers to its multiple subscribers. Topics retain messages only as
long as it takes to distribute them to current subscribers.
What type messaging is provided by
JMS?
Both synchronous and asynchronous.
Imp Link for interview questions.
Activity sensors
Activity sensors are used to monitor the execution of
activities within a BPEL process. For example, they can monitor the execution
time of an invoke activity or how long it takes to complete a scope. Along with
the activity sensor, you can also monitor variables of the activity.
Variable sensors
Variable sensors are used to monitor variables (or parts of
a variable) of a BPEL process. For example, variable sensors can monitor the
input and output data of a BPEL process.
Fault sensors
Fault sensors are used to monitor BPEL faults.
What is ComponentType File?
The componentType file that describes the services and
references for each service component. This file ensures that the wiring you
create between components works.
What is Contains in JCA Adapters?
Displays the JCA adapter (AQ, file, FTP, Database, JMS, MQ,
Oracle Applications, Oracle BAM, and EJB Service), B2B binding component, SDO
binding component, and web service binding component that can be dragged into
the left or right swim lanes.
What is Compansate activity and pick
activity.
What is difference Between Service
and WebService.
ans:- The Web Services Description Language (WSDL) client
interface, which defines the input and output messages for this BPEL process
flow, the supported client interface and operations, and other features. This
functionality enables the BPEL process flow to be called as a service.
What is Tab in Business .rules file?
Facts
Facts are the objects
that rules reason on.
Functions
A function, in Oracle
Business Rules, refers to the standard mathematical functions.
Globals
A global, in Oracle
Business Rules, is similar to a public static variable in Java.
Bucketsets
Bucketsets define the data types of fact properties.
Links
Links are used to
link to a dictionary in the same application or in another application.
Decision Functions
A Decision Function
is a function that is configured declaratively, without using RL Language
programming.
Rulesets with Rules and Decision Tables
A ruleset provides a
unit of execution for rules and for Decision Tables. A Decision Table provides
a mechanism for describing data processing tasks.
What is .JWS file?
It is a Application WorkSpace. When you can fine many
projects.
What is Service Components.
BPEL Process
Create BPEL Process
dialog: Enables you to create a BPEL process that integrates a series of
business activities and services into an end-to-end process flow.
Business Rule
Create Business Rules
dialog: Enables you to create a business decision based on rules.
Human Task
Create Human Task
dialog: Enables you to create a workflow that describes the tasks for users or
groups to perform as part of an end-to-end business process flow.
Mediator
Create Mediator
dialog: Enables you to define services that perform message and event routing,
filtering, and transformations.
Describe The available Services.
Web service
Create Web Service
dialog: Creates a web invocation service.
Adapters
Adapter Configuration
Wizard: Guides you through integration of the service with database tables,
database queues, file systems, FTP servers, Java Message Services (JMS), IBM
WebSphere MQ, BAM servers, sockets, or Oracle E-Business Suite applications.
ADF-BC Service
Create ADF-BC Service
dialog: Creates a service data object (SDO) invocation service.
B2B
B2B Wizard: Guides
you through selection of a document definition.
EJB Service
Create EJB Service:
Creates an Enterprise JavaBeans service for using SDO parameters with
Enterprise JavaBeans.
What is WS Addressing?
WS-Addressing is a transport-neutral mechanism by which web
services communicate addressing information. SOAP envelopes & headers used
within web services for transporting data throught transport layers like HTTP
does not possess intelligence to specify unique addressing information. Hence,
WS-Addressing evolved which contained endpoint references (EPR) and message
information headers for identification. This information is processed
independently of the transport mechanism or application.
What is a NameSpace?
What is inline schema?
<?xml version="1.0"?>
<catalog xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:x="urn:book">
<!-- START OF SCHEMA -->
<xsd:schema targetNamespace="urn:book">
<xsd:element name="book">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="author" type="xsd:string"/>
<xsd:element name="title" type="xsd:string"/>
<xsd:element name="genre" type="xsd:string"/>
<xsd:element name="price" type="xsd:float"/>
<xsd:element name="publish_date" type="xsd:date"/>
<xsd:element name="description" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<!-- END OF SCHEMA -->
<x:book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications with
XML.</description>
</x:book>
</catalog>
What is Dynamic Binding.
Creating a dynamic binding in BPEL
Dynamic binding allows the
developer to add new services through configuration or run-time inputs.
To understand how this
dynamic process works, it is first necessary to analyze the
DynamicPartnerLink.bpel file. The first interesting thing in this file is the
loan service partner link:
<partnerLink
name="LoanService" partnerLinkType="
services:LoanService"
myRole="LoanServiceRequester"
partnerRole="LoanServiceProvider"/>
Rather
than defining a specific loan service (like UnitedLoan), a generic loan service name
and type is specified (services:LoanService). The LoanService partner
link is defined in the LoanService.wsdl file; this file is imported by adding
it to the bpel.xml file in the <partnerLinkBindings> section as shown
below:
<partnerLinkBinding
name="LoanService">
<property
name="wsdlLocation">LoanService.wsdl</property>
</partnerLinkBinding>
You'll
observe in the LoanService.wsdl file that each of the available loan providers
is defined as a <service> within this single WSDL file, as shown below.
<service
name="StarLoan">
<port name="LoanServicePort"
binding="tns:LoanServiceBinding">
<soap:address
location="http://localhost:9700/orabpel/default/StarLoan"/>
</port>
</service>
<service
name="UnitedLoan">
<port name="LoanServicePort"
binding="tns:LoanServiceBinding">
<soap:address
location="http://localhost:9700/orabpel/default/UnitedLoan"/>
</port>
</service>
<service
name="AmericanLoan">
<port name="LoanServicePort"
binding="tns:LoanServiceBinding">
<soap:address
location="http://localhost:9700/orabpel/default/AmericanLoan"/>
</port>
</service>
It is
important to understand that there is no "real" service called
"LoanService." Rather, LoanService is a template from which you
select one of the real loan provider services (UnitedLoan, AmericanLoan,
StarLoan). This approach works as long as the real services all support the
same interface (same data types, messages, roles, ports, and partner link
types) as that defined in the template WSDL. It is important to define this
template interface carefully because a change here can affect many processes
down the line.
The LoanService.wsdl
file defines all the service options, which the parent process can elect to
call dynamically. This model requires a redeployment of the WSDL file as each
new service is added. This approach represents a remarkable improvement over
modifying the parent process to include new partner links and routing logic for
each new service. (Later you will see how to disassociate the service endpoints
from the WSDL file as well.)
Returning to the
DynamicPartnerlink.bpel file, the next feature we want to look at is the partnerReference variable:
<variable
name="partnerReference"
element="wsa:EndpointReference"/>
This
variable is of the type EndpointReference. It has a namespace wsa: defined
at the top of the BPEL file as
xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing"
The
WS-Addressing standard provides the schema for the EndpointReference type. You can <assign>
variables of this type to a partner link in order to modify the address and
service information, thus providing the ability to modify the partner link at
runtime.
The DynamicPartnerLink
process basically consists of a switch. It inspects the "provider"
string passed in by the caller. Then, it assigns an EndpointReference xml data structure to the partnerReference variable containing the
information relevant to the service that you're requesting. After the switch,
the partnerReference variable is assigned to
the LoanService partner link and the
partner link is invoked.
Here's how to accomplish
this task when the input string (the service provider) is "united":
<assign>
<copy>
<from>
<EndpointReference
xmlns="http://schemas.xmlsoap.org/ws/2003/03/addressing">
<Address>http://localhost:9700/orabpel/default/UnitedLoan</Address>
<ServiceName
xmlns:ns1="http://services.otn.com">ns1:UnitedLoan</ServiceName>
</EndpointReference>
</from>
<to
variable="partnerReference"/>
</copy>
</assign>
Everything
between the <from> and </from> tags is literal XML that you're
assigning to the partnerReference variable. This data will override the address and
service specified in the LoanService partner link when you assign the partnerReference variable
to that link.
Now that you've explored
the use of the LoanService partner link and LoanService.wsdl to invoke services selected at
run time, you can move on to building a dynamic process.
What is Fault Policy Management.
What is Difference between 10g and
11g of Soa.
What is SOA and SCA?
Soa- Service Oriented Architecture
and SCA is Service Component Architecture
SCA is assembly of artifacts.
How many ways to deploy a BPEL
service?
what is ant script?
What is Concrete and Abstract WSDL?
How to Migrate a BPEL Process?
What is MDS?
What is configuration control? And
its usage in your project?
What are the activities which used to
dehydrate automatically? What is dehydrate activity.
What is FlowNActivity.
What is Asynchronous and Syncronous
Services?
callBack- Asynchronous. Two port.
ReplyOutPut- Synchronous.one port.
Business Scenario.
1. We have three service Flight Service Hotel Service and Cab service, If
any of them couldnt book so what you
will do for rollback all the action?
ans :- Compansate activity. And compensateScopeActivity
2. If
A call B and B call C and Response would be in Reverse manner. i.e. C respond
to B and B respond to A, So how you will respod to A from C without responsding
B?
Ans:-
Oracle BPEL Correlation Exemplified
Correlation is one of the important & tricky technique
available within Oracle BPEL PM. In this blog, I have taken a simple route to
explain the correlation technique.
Synchronous & Asynchronous web services:
Whenever a synchronous web service is invoked from Oracle
BPEL via a partnerlink, only one port is established for communication with the
exposed web service which is used by both request & response messages.
However, when an asynchronous web service is invoked, two
ports are opened for communcation: one for request & one for response
messages.
How does Oracle BPEL identify asynchronous responses?
As response from an asynchronous web service is not
guaranteed to be received within a specified time frame, and many instances of
the same service might be invoked before even a response can be obtained, how
does Oracle BPEL identify and relate the responses to the appropriate requests
and proceed for completion of further activities that may be scheduled? The
answer is "WS-Addressing".
What is WS-Addressing?
WS-Addressing is a transport-neutral mechanism by which web
services communicate addressing information. SOAP envelopes & headers used
within web services for transporting data throught transport layers like HTTP
does not possess intelligence to specify unique addressing information. Hence,
WS-Addressing evolved which contained endpoint references (EPR) and message
information headers for identification. This information is processed
independently of the transport mechanism or application.
For reference on WS-Addressing click here
By default, Oracle BPEL PM implements WS-Addressing for all
asynchronous web service calls, hence we don't have to explicitly implement
identification relationship between the incoming & outgoing messages.
Correlation:
In short, Correlation is a BPEL technique which provides
correlation of asynchronous messages based on the content of the message.
Why & Where Correlation?
The following are few scenarios in which we would be
required to implement Correlation to identify & relate message
communication;
1. When the external web service called doesn't have
WS-Addressing capability
2. When the message travels through several services and
response is solicited by the initial service from the last service directly
For instance, request flow pro1 -> pro2 -> pro3 and
response is received from pro3 ->pro1
Implementing Correlation:
a.) Creating Correlation Sets:
In Structure Window of the JDeveloper IDE, right click on
the Correlation Sets and choose 'Create Correlation Set'
Provide a name for your correlation set being created.
In the properties section, select 'Add' to display the
property chooser window
Choose 'Create' to create a property on which the
correlation has to be initiated. Provide a name and type for the property.
b.) Associating the Correlation set on receive/invoke, pick
activities
Go the the correlations tab on the activity
(invoke/receive/pick) on which you need to set & validate the correlation
Add the created correlation set to the activity
Initiate Attribute: (Value Set - yes, no)
When set to yes, correlation set is initiated with the
values of the properties available in the message being transferred
When set to no, correlation set validates the value of the
property available in the message
Pattern Attribute: (Value Set - in, out, in-out)
When the value is 'in', it means that the correlation
property is set/validated on the incoming message
When the value is 'out', it means that the correlation
property is set/validated on the message going out of BPEL
In case of 'in-out', the property will be set/validated on
both incoming & outgoing messages
c.) Creating Propery Alias:
In the Structure Window of the JDeveloper, right click on
the 'Property Aliases' and select 'Create Propery Alias'
Select the message type that you want to set to the
correlation propery (already created)
Now, correlation design is complete. However, correlation
will not be established unless we reference the correlations on the WSDL file
of the BPEL process. To do this, import the correlation WSDL file (created
under the project) in the BPEL process main WSDL.
Calling Secure Services from BPEL
There are two popular ways of securing the so-called webservices
and as to how do we invoke them from BPEL???
BasicServices:
Basic services would require authentication information i.e.,
the username/password to be passed in the HTTP Header.
Services Pertaining to WS-Security:
These services are required to send authentication information ( username / password) as WS-Security tokens in SOAP Envelope to access.
These services are required to send authentication information ( username / password) as WS-Security tokens in SOAP Envelope to access.
How can one add the HTTP Authentication in BPEL:
Add the following properties in deployment descriptor i.e., the bpel.xml, under the partner link for that service.
<property name="httpHeaders">credentials</property>
<property name="httpUsername">manojnair</property>
<property name="httpPassword">hello@123</property>
O, you can also go about like this;
<property name="basicHeaders">credentials</property>
<property name="basicUsername">manojnair</property>
<property name="basicPassword">hello@123</property>
<property name="basicUsername">manojnair</property>
<property name="basicPassword">hello@123</property>
Adding WS-Security tokens in BPEL:
Add the following properties in bpel.xml under the partner link for that service.
<property name="wsseHeaders">credentials</property>
<property name="wsseUsername">manojnair</property>
<property name="wssePassword">hello@123</property>
thats it .... you are done once you embed this into your code.
This is how one can invoke secure services.