Difference between revisions of "Wizard Proxy Web Service"

From GreenVulcano Wiki
Jump to: navigation, search
(Wizard Proxy Web Service)
(Wizard Proxy Web Service)
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
== Wizard Proxy Web Service ==
 
== Wizard Proxy Web Service ==
  
If you want to create a new {{GVESB}} service from a WSDL and publish itself as a Web Service, choose "Wizard Proxy Web Service". In practice, this wizard allows you to generate a {{GVESB}} service and a Web Service at the same time, acting as a [http://en.wikipedia.org/wiki/Gateway Gateway].
+
"Wizard Proxy Web Service" is a wizard that, from a service's WSDL, publishes the same service on {{GVESB}}, therefore it is only a [http://en.wikipedia.org/wiki/Proxy_server Proxy].
 +
In practice, it creates the [[Ws-call|Web Service call]] to the service indicated in WSDL file, defines a {{GVESB}} service that makes the Web Service call and exposes this {{GVESB}} service as Web Service.
  
In the first page you can choose the WSDL from which create the {{GVESB}} service and the Web Service.
+
In the first page you can choose the WSDL file.
  
In the second page you can select the operations to insert in your {{GVESB}} service and Web Service.
+
In the second page you can select the operations that are described in WSDL file.
  
In the third page you can select the following parameters:
+
In the third page you can select the following parameters of the Web Service call:
 
*[[System]]
 
*[[System]]
 
*[[Participant]]
 
*[[Participant]]
 
*[[Channel]]
 
*[[Channel]]
*[[Data provider]]
+
*[[Data provider]], used to adapt the workflow input to the Web service input
*Return type
+
*Return type, used to choose what must be passed as output to the workflow:
 +
**context        : the [http://axis.apache.org/axis2/java/core/api/org/apache/axis2/context/MessageContext.html MessageContext]
 +
**envelope        : the envelope as XML serialized string
 +
**body            : the body as XML serialized string
 +
**body-element    : the first child of body as XML serialized string
 +
**header          : the header as XML serialized string
 +
**envelope-om    : the envelope as [http://ws.apache.org/axiom/apidocs/org/apache/axiom/soap/SOAPEnvelope.html SOAPEnvelope] object
 +
**body-om        : the body as [http://ws.apache.org/axiom/apidocs/org/apache/axiom/soap/SOAPBody.html SOAPBody] object
 +
**body-element-om : the first child of body as [http://ws.apache.org/axiom/apidocs/org/apache/axiom/om/OMElement.html OMElement] object
 +
**header-om      : the header as [http://ws.apache.org/axiom/apidocs/org/apache/axiom/soap/SOAPHeader.html SOAPHeader] object
 +
you can use, for example: 
 +
Return type = envelope-om
  
 +
and Data provider (Axis2MessageContextDataProvider):
 +
<syntaxhighlight lang="java5">
 +
envelope=#input.object
 +
</syntaxhighlight>
 
In the fourth page you can choose your preferred transport protocol between:
 
In the fourth page you can choose your preferred transport protocol between:
 
*SOAP
 
*SOAP
Line 20: Line 36:
 
*JMS Transport
 
*JMS Transport
  
In the last page you can set the followimg parameters:
+
In the last page you can set the following parameters of the publishing Web Service:
*Input type
+
*Input type, used to choose what must be passed as input to the workflow:
*[[Data provider]]
+
**context        : the [http://axis.apache.org/axis2/java/core/api/org/apache/axis2/context/MessageContext.html MessageContext]
 +
**envelope        : the envelope as XML serialized string
 +
**body            : the body as XML serialized string
 +
**body-element    : the first child of body as XML serialized string
 +
**header          : the header as XML serialized string
 +
**envelope-om    : the envelope as [http://ws.apache.org/axiom/apidocs/org/apache/axiom/soap/SOAPEnvelope.html SOAPEnvelope] object
 +
**body-om        : the body as [http://ws.apache.org/axiom/apidocs/org/apache/axiom/soap/SOAPBody.html SOAPBody] object
 +
**body-element-om : the first child of body as [http://ws.apache.org/axiom/apidocs/org/apache/axiom/om/OMElement.html OMElement] object
 +
**header-om      : the header as [http://ws.apache.org/axiom/apidocs/org/apache/axiom/soap/SOAPHeader.html SOAPHeader] object
 +
*[[Data provider]], used to adapt the workflow output to the Web service output
 +
you can use, for example: 
 +
Return type = envelope-om
 +
 
 +
and Data provider (Axis2MessageContextDataProvider):
 +
<syntaxhighlight lang="java5">
 +
envelope=#input.object
 +
</syntaxhighlight>
 
*Choose if Web Service should be forced to HTTPS
 
*Choose if Web Service should be forced to HTTPS
 
*Choose if target namespace to be used is the one in the xsd
 
*Choose if target namespace to be used is the one in the xsd
 
It is interesting to note that Web Service's Return Type and Input Type allow you to select two different typologies:
 
* The first one is the classic type. The {{GVESB}} adapter passes your choosed type object to the {{GVESB}} service as serialized object.
 
* The second one is with "-om" postfix. The {{GVESB}} adapter passes your choosed type object to the {{GVESB}} service as well as is.
 
 
 
== Example ==
 
{| class="gvtable"
 
|-
 
! Web Service name
 
! Operation
 
! Description
 
!
 
|-
 
| Credit Card
 
| withdrawal
 
| This operation.............................................................
 
| [[Example 1]]
 
|-
 
| Credit Card
 
| Balance
 
| This operation.............................................................
 
| [[Example 2]]
 
|}
 

Latest revision as of 16:14, 13 December 2012

Wizard Proxy Web Service

"Wizard Proxy Web Service" is a wizard that, from a service's WSDL, publishes the same service on GreenVulcano® ESB, therefore it is only a Proxy. In practice, it creates the Web Service call to the service indicated in WSDL file, defines a GreenVulcano® ESB service that makes the Web Service call and exposes this GreenVulcano® ESB service as Web Service.

In the first page you can choose the WSDL file.

In the second page you can select the operations that are described in WSDL file.

In the third page you can select the following parameters of the Web Service call:

  • System
  • Participant
  • Channel
  • Data provider, used to adapt the workflow input to the Web service input
  • Return type, used to choose what must be passed as output to the workflow:
    • context  : the MessageContext
    • envelope  : the envelope as XML serialized string
    • body  : the body as XML serialized string
    • body-element  : the first child of body as XML serialized string
    • header  : the header as XML serialized string
    • envelope-om  : the envelope as SOAPEnvelope object
    • body-om  : the body as SOAPBody object
    • body-element-om : the first child of body as OMElement object
    • header-om  : the header as SOAPHeader object

you can use, for example: Return type = envelope-om

and Data provider (Axis2MessageContextDataProvider):

envelope=#input.object

In the fourth page you can choose your preferred transport protocol between:

  • SOAP
  • SOAP12
  • REST Transport
  • JMS Transport

In the last page you can set the following parameters of the publishing Web Service:

  • Input type, used to choose what must be passed as input to the workflow:
    • context  : the MessageContext
    • envelope  : the envelope as XML serialized string
    • body  : the body as XML serialized string
    • body-element  : the first child of body as XML serialized string
    • header  : the header as XML serialized string
    • envelope-om  : the envelope as SOAPEnvelope object
    • body-om  : the body as SOAPBody object
    • body-element-om : the first child of body as OMElement object
    • header-om  : the header as SOAPHeader object
  • Data provider, used to adapt the workflow output to the Web service output

you can use, for example: Return type = envelope-om

and Data provider (Axis2MessageContextDataProvider):

envelope=#input.object
  • Choose if Web Service should be forced to HTTPS
  • Choose if target namespace to be used is the one in the xsd