Web Services
Definition
Web Service is a software system that allows the interoperability among machines on the same network. Through a Web Service it is possible to pubblish business services using a contract, called WSDL.
GreenVulcano® ESB provides a very simple method that helps developers to manage Web Services operations as:
- create
- invoke
- deploy
- publishing
- undeploy
Any service flow can be pubblished in GreenVulcano® ESB as a Web Services.VulCon® helps the user to pubblish an ESB service as a web service, leaving the user the only task to define the data structures in order to interact with the external world.
GreenVulcano® ESB provides a complete management of Web Services through Axis2 platform. It supports:
- Web Services stateful and asynchronous
- Processing SOAP Messages with XML parsing more efficient pull-based instead of DOM (Document Object Model)
- Increased Scalability
- Hot deploy and undeploy
Create new Web Services with VulCon
VulCon provides two wizards to create new Web Services. The first one starting from an GreenVulcano® ESB service and creating the WSDL and the AAR to deploy (bottom-up development method), the second one, starting from a WSDL, creating GreenVulcano® ESB services for each operation chosen (top-down development method).
bottom-up development method Right click on GVServices-->Services label and select "Wizard New WebService...". New WebService Wizard window will be open. Fill the window fields as following:
- In the "WebService name" field set the WebService name that you want to publish
- In the "target namespace" field if you want you can change the default operation target namespace proposed
- In the "Operation" field choose the operation to bind from list proposed.
- Click "next" button
On the second page you can change the Soap Action and mapped operation name to the WebService.
- Click "next" button
On the third page you can choose your preferred transport protocol
- Soap Transport
- Soap12 Transport
- Rest Transport
- JMS Transport
If you choose Rest Transport, you must additionally select the verb for the operation. If you choose JMS Transport, You must additionally:
- select The jms connection factory
- JMS destination name
- JMS destination type
- Reply destination: Destination where a reply will be posted
- contentType
- ByteMessage
- TextMessage
- Click "next" button
On the fourth window you must choose:
- The WebService input type
- The Template:L DATA PROVIDER NAME
Example
This example shows an XML document generated by a simple Excel sheet (without cols and rows grouping). Given an Excel sheet with the following structure:
ID1 | ID2 | ID3 | ID4 | ID5 | ID6 | ID7 |
---|---|---|---|---|---|---|
23 | 23232 | 23 | 23333 | 1 | 2 | 3 |
24 | 24444 | 23 | 23332 | 1 | 2 | 3 |
excelreader-call generates the following XML:
<?xml version="1.0" encoding="UTF-8"?>
<workbook>
<sheet number="0">
<name><![CDATA[Foglio1]]></name>
<row number="0">
<col number="0">
<data><![CDATA[ID1]]></data>
</col>
<col number="1">
<data><![CDATA[ID2]]></data>
</col>
<col number="2">
<data><![CDATA[ID3]]></data>
</col>
<col number="3">
<data><![CDATA[ID4]]></data>
</col>
<col number="4">
<data><![CDATA[ID5]]></data>
</col>
<col number="5">
<data><![CDATA[ID6]]></data>
</col>
<col number="6">
<data><![CDATA[ID7]]></data>
</col>
</row>
<row number="1">
<col number="0">
<data><![CDATA[23]]></data>
</col>
<col number="1">
<data><![CDATA[23232]]></data>
</col>
<col number="2">
<data><![CDATA[23]]></data>
</col>
<col number="3">
<data><![CDATA[711]]></data>
</col>
<col number="4">
<data><![CDATA[1]]></data>
</col>
<col number="5">
<data><![CDATA[1]]></data>
</col>
<col number="6">
<data><![CDATA[1]]></data>
</col>
</row>
<row number="2">
<col number="0">
<data><![CDATA[23]]></data>
</col>
<col number="1">
<data><![CDATA[711]]></data>
</col>
<col number="2">
<data><![CDATA[23]]></data>
</col>
<col number="3">
<data><![CDATA[23232]]></data>
</col>
<col number="4">
<data><![CDATA[1]]></data>
</col>
<col number="5">
<data><![CDATA[1]]></data>
</col>
<col number="6">
<data><![CDATA[1]]></data>
</col>
</row>
</sheet>
</workbook>
With a ChangeGvBufferNode is possible parsing XML and retrieve any tag and value.
--A.sicignano 16:30, 19 January 2012 (CET)