Abstract wsdl:- Used on server side, contains request, response and type of operation performed.
concrete wsdl:- Used on client side, contains abstract wsdl and transport used.
ui:wsdlLocation signifies design time and binding.ws stands for runtime.
So, we need to change the value in ui: wsdlLocation, so that it refers to MDS rather than the deployed component through http.
our composite will have 2 sections - reference & binding.
reference will point to abstract WSDL which is what is used while loading composite references during startup.
Service binding in SOA composite will have the actual concrete WSDL.
Steps:
1. Copy all the dependency WSDL’s and the schemas or the WSDL’s imported from the dependency WSDL to a particular MDS location and change all the import location (Schema and WSDL) in the Abstract WSDL to refer the MDS than deployed location.
2. Change the import location of dependent WSDL in Composite.xml to the abstract WSDL in MDS.
3. Change the ui: wsdlLocation in composite.xml and the Component files to refer to MDS for the dependent WSDL’s rather than deployed composites through http.
In the same way change the reference ui: wsdlLocation for the same dependent WSDL in component file (file with the extension .componentType) also.
What is the difference between concrete and abstract wsdl?
Concrete:
-> It means WSDL has its own endpoint inside it .
Concrete Description:-
It contains Abstract WSDL + Bindings and Services
Bindings: Specifies bindings of each operation in the portType section.
Services:- Specifies port address of each binding.
Besides the information about how to communicate to the web service,
it the information on where the service exist.
It has Bindings (Protocol the message should be sent) and Services(has endpoint for each bindings) .
used in client side
Binding and service
Abstract:
-> Abstract wisdl is a wsdl which do not have endpoint uri or location of wsdl .
It has information about how to communicate to the web service like types (Schema),
Message (input and output messages service accepts) ,
Operations (operation that can be performed on this service) and port Type.
Used in server side
Reusable
No binding details (binding & service)
Type, message, port type defined
WSDL is divided into Abstract and Physical (concrete) portions
-> Abstract:(what it provides)
<definations>
<types> </types> //Data type definitions
<message> </message> //Definition of data being communicated /
<operation> </operation> //operations (messages)
<porttype> </porttype> // set of operations / Refers to message definitions in messages section that describe function signatures(Operation name, Input parameters, Output parameters).
Concrete/Physical : how to consume it
<binding> </binding> // Protocol of data format specification
//Specifies bindings of each operation in the portType section.
<service> </service> // url to access WS /Specifies port address of each binding.
</definations>
- Concrete wsdl: how to consume it.(if you want to expose your service to source system )
No comments:
Post a Comment