Difference between revisions of "GVWebServices"

From GreenVulcano Wiki
Jump to: navigation, search
(PasswordCallback)
 
(44 intermediate revisions by 5 users not shown)
Line 7: Line 7:
 
The GVWebServices Element is present in the {{VULCON}} Adapter view, as a GVAdapters subelement.
 
The GVWebServices Element is present in the {{VULCON}} Adapter view, as a GVAdapters subelement.
  
The following table shows GVWebServices the element's attributes:
+
The following table shows GVWebServices element's attributes:
 
{|class="gvtable"
 
{|class="gvtable"
 
! Attribute !! Type !! Description
 
! Attribute !! Type !! Description
Line 19: Line 19:
  
 
Its subelements are:
 
Its subelements are:
* Description
+
* [[Description]]
 
* [[GVWebServices#GreenVulcanoWebServices|GreenVulcanoWebServices]]
 
* [[GVWebServices#GreenVulcanoWebServices|GreenVulcanoWebServices]]
 
* [[GVWebServices#BusinessWebServices|BusinessWebServices]]
 
* [[GVWebServices#BusinessWebServices|BusinessWebServices]]
Line 25: Line 25:
 
* [[GVWebServices#AxisExtra|AxisExtra]]
 
* [[GVWebServices#AxisExtra|AxisExtra]]
  
 +
The {{GVESB}} service input GVBuffer contains the following properties:
 +
* WS_SERVICE : name of the invoked webservice
 +
* WS_OPERATION : name of the invoked webservice's operation
 +
* WS_REMOTE_ADDR : remote address of the invoking client
 +
* WS_CONTENT_TYPE : request content type
 +
<div class="version_ge3.4.0.9">
 +
* WS_REQ_SOAP_VERSION : request SOAP version URI
 +
</div>
 +
 +
<div class="version_ge3.3">
 
===GreenVulcanoWebServices===
 
===GreenVulcanoWebServices===
 +
You can expose a {{GVESB}} core through the configuration of a generic Web Service.
 +
This element represents the {{GVESB}} {{GVWS}} definition.
 +
You can retrieve the WSDL at the address:<pre>http://<host>:<port>/gvaxis2/services/GreenVulcanoWebservice?wsdl</pre>
  
This element represents the {{GVESB}} Web Services definition.
 
 
Its subelements are:
 
* Description
 
* GreenVulcanoWebService
 
 
====GreenVulcanoWebService====
 
 
The key that identifies the service is given either by the field id-key, or by the triple [[system]]/[[service]]/[[operation]]:
 
* If this key is not satisfied we will use the default inputObjectDataProviders and outputObjectDataProviders
 
* If the defaults are not defined an exception will be thrown.
 
 
The following table shows the GreenVulcanoWebService element's attributes:
 
 
{|class="gvtable"
 
{|class="gvtable"
 
! Attribute !! Type !! Description
 
! Attribute !! Type !! Description
 
|-
 
|-
| type || fixed || This attribute must assume the value '''greenvulcanowebservice'''.
+
| gv-service || required || Service name with which to perform the invocation of GreenVulcano ESB..
 +
|-
 +
| gv-operation || required || GreenVulcano ESB operation to invoke.
 +
|-
 +
| transacted || optional ||  Indicates whether the invocation to be performed in GreenVulcano is transactional or not.
 +
Default: false
 +
 
 +
A transaction is rolled back if:
 +
* the service ends with exception
 +
* the output SOAP response is a Fault
 +
* the output GVBuffer contains the property WS_FORCE_TX_ROLLBACK=Y
 
|-
 
|-
| id-key || optional || The attribute's value can't be null.
+
| tx-timeout || optional || Transaction timeout in seconds.
 +
Default: 30s
 
|-
 
|-
| id-service || optional || Service
+
| force-https || optional || Indicates whether the protocol is https or not.
 +
Default: false
 
|-
 
|-
| id-system || optional || System
+
| intput-dp || optional || DataProvider be used to process input data.
 
|-
 
|-
| id-primitive || required || Primitive to invoke. The attribute's admitted values are:
+
| output-dp || optional || DataProvider be used to process response data.
* Request
 
* RequestReply
 
* GetReply
 
* GetRequest
 
* SendReply
 
 
|}
 
|}
 +
</div>
  
 
===BusinessWebServices===
 
===BusinessWebServices===
Line 94: Line 102:
  
 
Its subelements are:
 
Its subelements are:
* Description
+
* [[Description]]
* WebService
+
* [[#WebService|WebService]]
  
 
====WebService====
 
====WebService====
Line 126: Line 134:
 
The attribute's value can't be null.
 
The attribute's value can't be null.
 
|-
 
|-
| targetNS-from-xsd || optional || Defines if the target namespace of the types in the WSDL shall be that specified in the XSD input. If "false", the target namespace is: http://www.greenvulcano.it/greenvulcano
+
| targetNS-from-xsd || optional || Defines if the target namespace of the types in the WSDL shall be that specified in the XSD input. If "false", the target namespace is: <nowiki>http://www.greenvulcano.it/greenvulcano</nowiki>
 
The attribute's admitted values are:
 
The attribute's admitted values are:
 
* true
 
* true
Line 137: Line 145:
  
 
Its subelements are:
 
Its subelements are:
* Description
+
* [[Description]]
 
* [[GVWebServices#WSOperation|WSOperation]]
 
* [[GVWebServices#WSOperation|WSOperation]]
 
* [[GVWebServices#Transport|Transport]]
 
* [[GVWebServices#Transport|Transport]]
Line 160: Line 168:
 
| ref-dp || optional || DataProvider to be used for sending the reply to the caller.
 
| ref-dp || optional || DataProvider to be used for sending the reply to the caller.
 
The DataProvider will return a MessageContext to be sent as a reply.
 
The DataProvider will return a MessageContext to be sent as a reply.
If not used, the webservice adapter expects a org.apache.axiom.soap.SOAPEnvelope as a field object of GVBuffer.
+
If not used, the webservice adapter expects a org.apache.axiom.soap.SOAPEnvelope into object field of GVBuffer.
 
|}
 
|}
  
 
It has the subelements:
 
It has the subelements:
* Description
+
* [[Description]]
 
* [[GVWebServices#Binding|Binding]]
 
* [[GVWebServices#Binding|Binding]]
 
* [[GVWebServices#PolicyData|PolicyData]]
 
* [[GVWebServices#PolicyData|PolicyData]]
Line 170: Line 178:
 
=====Binding=====
 
=====Binding=====
  
Defined by the triple gv-system/gv-service/gv-operation.
+
Defined the {{GVESB}} workflow to invoke.
  
 
The following table shows the Binding element's attributes:
 
The following table shows the Binding element's attributes:
Line 176: Line 184:
 
! Attribute !! Type !! Description
 
! Attribute !! Type !! Description
 
|-
 
|-
| gv-service || required || ID service with which to perform the invocation of {{GVESB}}
+
| gv-service || required || {{GVESB}} service id
 
|-
 
|-
| gv-system || optional || ID system with which to perform the invocation of {{GVESB}}
+
| gv-system || optional || {{GVESB}} system id
 
|-
 
|-
| gv-operation || required ||  {{GVESB}} operation to invoke.
+
| gv-operation || required ||  service's operation to invoke.
 
|-
 
|-
| transaction-timeout-secs || optional || Transaction timeout in seconds.
+
| inputType || optional || Defines how to set the object field of input GVBuffer:
|-
 
| inputType || optional || Defines how to set the response data in the object field of output GVBuffer:
 
 
* context : the MessageContext  
 
* context : the MessageContext  
 
* envelope : the envelope as XML serialized as string  
 
* envelope : the envelope as XML serialized as string  
Line 190: Line 196:
 
* body-element : the first child of body as XML serialized as string  
 
* body-element : the first child of body as XML serialized as string  
 
* header : the header as XML serialized as string  
 
* header : the header as XML serialized as string  
* envelope-om : the envelope as OMMessage
+
* envelope-om : the envelope as OMElement
* body-om : the body as OMMessage
+
* body-om : the body as OMElement
* body-element-om : the first child of body as OMMessage
+
* body-element-om : the first child of body as OMElement
* header-om : the header as OMMessage
+
* header-om : the header as OMElement
 
Default: context
 
Default: context
 
|-
 
|-
 
| transaction || optional || Indicates whether the invocation to be performed in {{GVESB}} is transactional or not.
 
| transaction || optional || Indicates whether the invocation to be performed in {{GVESB}} is transactional or not.
The possible values are:
+
Default: false
* none : The invocation is performed in non transactional mode.
+
 
* commit-before-reply : The invocation is performed in transactional mode and the commit is carried out immediately before returning the response to clients.
+
A transaction is rolled back if:
* commit-after-reply : The invocation is performed in transactional mode and the commit is carried out immediately after returning the response to clients.
+
** the service ends with exception
 +
** the output SOAP response is a Fault
 +
** the output GVBuffer contains the property WS_FORCE_TX_ROLLBACK=Y
 +
|-
 +
| tx-timeout || optional || Transaction timeout in seconds.
 +
Default to 30s.
 
|}
 
|}
  
Line 242: Line 253:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
The PolicyData Element is used by EngageModule, WSOperation.
+
The PolicyData Element is used by:
 +
* [[#EngageModule|EngageModule]]
 +
* [[#WSOperation|WSOperation]]
  
 
The following table shows the PolicyData element's attributes:
 
The following table shows the PolicyData element's attributes:
Line 258: Line 271:
  
 
Its subelements are:
 
Its subelements are:
* Description
+
* [[Description]]
 
* soap  
 
* soap  
 
* soap12  
 
* soap12  
Line 298: Line 311:
 
=====EngageModule=====
 
=====EngageModule=====
  
The EngageModule Element is used by: AxisWebServiceInvoker and WebService.
+
The EngageModule Element is used by: [[Ws-call#AxisWebServiceInvoker|AxisWebServiceInvoker]] and WebService.
  
 
The following table shows the EngageModule element's attributes:
 
The following table shows the EngageModule element's attributes:
Line 360: Line 373:
 
The UDDI Element is used by: GVWebServices.
 
The UDDI Element is used by: GVWebServices.
  
It has the subelements:
+
Might contain the following sub-elements:
* Description
+
* [[Description]]
* JAXMLRegistry
+
* [[#JAXMLRegistry|JAXMLRegistry]]
* Proxy
+
* [[#Proxy|Proxy]]
  
 
====JAXMLRegistry====
 
====JAXMLRegistry====
Line 390: Line 403:
 
|}
 
|}
  
Its subelements are:
+
Its sub-elements are:
* Description
+
* [[Description]]
* Properties
+
* [[#Properties|Properties]]
  
 
=====Properties=====
 
=====Properties=====
Line 398: Line 411:
 
List of the properties needed to access the UDDI server.
 
List of the properties needed to access the UDDI server.
  
Its subelements are:
+
Its sub-elements are:
* Description
+
* [[Description]]
* connectionFactory
+
* [[#connectionFactory|connectionFactory]]
* connectionProperty
+
* [[#connectionProperty|connectionProperty]]
  
 
=====connectionFactory=====
 
=====connectionFactory=====
Line 453: Line 466:
 
The AxisExtra Element is used by: GVWebServices and it is visible from {{L_VULCON}} in the Adapter View.
 
The AxisExtra Element is used by: GVWebServices and it is visible from {{L_VULCON}} in the Adapter View.
  
Its subelements are:
+
Its sub-elements are:
* Description
+
* [[Description]]
 
* [[GVWebServices#PasswordCallback|PasswordCallback]]
 
* [[GVWebServices#PasswordCallback|PasswordCallback]]
  
Line 468: Line 481:
 
|}
 
|}
  
The PwCbBasicHandler Element contains the subelements:
+
The PwCbBasicHandler Element contains the sub-elements:
* Description
+
* [[Description]]
 
* [[GVWebServices#UserDef|UserDef]]
 
* [[GVWebServices#UserDef|UserDef]]
  

Latest revision as of 20:00, 28 October 2015

Description

The element GVWebServices allows to define the Web Services implemented by GreenVulcano® ESB.

VulCon / GV Console Configuration

The GVWebServices Element is present in the VulCon Adapter view, as a GVAdapters subelement.

The following table shows GVWebServices element's attributes:

Attribute Type Description
version fixed This attribute must assume the value 1.0.
type fixed This attribute must assume the value module.
name fixed This attribute must assume the value WEB_SERVICES.

Its subelements are:

The GreenVulcano® ESB service input GVBuffer contains the following properties:

  • WS_SERVICE : name of the invoked webservice
  • WS_OPERATION : name of the invoked webservice's operation
  • WS_REMOTE_ADDR : remote address of the invoking client
  • WS_CONTENT_TYPE : request content type
  • WS_REQ_SOAP_VERSION : request SOAP version URI

GreenVulcanoWebServices

You can expose a GreenVulcano® ESB core through the configuration of a generic Web Service. This element represents the GreenVulcano® ESB Web Services definition.

You can retrieve the WSDL at the address:
http://<host>:<port>/gvaxis2/services/GreenVulcanoWebservice?wsdl
Attribute Type Description
gv-service required Service name with which to perform the invocation of GreenVulcano ESB..
gv-operation required GreenVulcano ESB operation to invoke.
transacted optional Indicates whether the invocation to be performed in GreenVulcano is transactional or not.

Default: false

A transaction is rolled back if:

  • the service ends with exception
  • the output SOAP response is a Fault
  • the output GVBuffer contains the property WS_FORCE_TX_ROLLBACK=Y
tx-timeout optional Transaction timeout in seconds.

Default: 30s

force-https optional Indicates whether the protocol is https or not.

Default: false

intput-dp optional DataProvider be used to process input data.
output-dp optional DataProvider be used to process response data.

BusinessWebServices

Business web services definition on Axis2.

The following table shows the BusinessWebServices element's attributes:

Attribute Type Description
wsdl-directory required Directory containing the generated WSDL for the services exposed through Axis2.
services-directory required Directory containing the services generated from a WSDL using Axis2.
authenticated-http-soap-address optional This is the default URL that is used to build the soap:

address for Web Services that require authentication exposed with http protocol. This URL can be overridden on different services. If not specified will be required to define it on the services. The final URL will be formed by concatenating the name of the service: default-soap-address/service

authenticated-https-soap-address optional This is the default URL that is used in the build the soap:address for web services that require authentication exposed with https protocol.

This URL can be overridden on different services. If not specified will be required to define it on the services. The final URL will be formed by concatenating the name of the service: default-soap-address/service

http-soap-address optional This is the default URL that is used in the build the soap:address for web services that not require authentication exposed with http protocol.

This URL can be overridden on different services. If not specified will be required to define it on the services. The final URL will be formed by concatenating the name of the service: default-soap-address/service

https-soap-address optional This is the default URL that is used in the build the soap:address for web services that not require authentication exposed with https protocol.

This URL can be overridden on different services. If not specified will be required to define it on the services. The final URL will be formed by concatenating the name of the service: default-soap-address/service

Its subelements are:

WebService

This element allows to define a business web services.

The following table shows the WebService element's attributes:

Attribute Type Description
web-service required The attribute's value can't be null.
force-https optional The attribute's admitted values are:
  • true
  • false
soap-address optional Il soap:address will be exactly the here specified url.

As a difference with the default-soap-address, it won't be made any composition with the service name. If default-soap-address is not specified, this is mandatory. The attribute's value can't be null.

input-xsd optional The path of the XSD that defines the types of input that will be declared in the generated WSDL.

May contain an absolute path or a relative path, in which case, is relative to ${{gv.app.home}}/xmlconfig/xsds. May contain placeholders. May also include the types of output, in this case does not specify the parameter 'output-xsd'. The attribute's value can't be null.

output-xsd optional The path of the XSD that defines the types of output that will be declared in the generated WSDL.

May contain an absolute path or a relative path, in which case, is relative to ${{gv.app.home}}/xsds. If not specified only the parameter 'input-xsd' will be used. The attribute's value can't be null.

targetNS-from-xsd optional Defines if the target namespace of the types in the WSDL shall be that specified in the XSD input. If "false", the target namespace is: http://www.greenvulcano.it/greenvulcano

The attribute's admitted values are:

  • true
  • false
useOriginalwsdl optional The attribute's admitted values are:
  • true
  • false

Its subelements are:


WSOperation

This element defines the Web Service Operation.

The following table shows the WSOperation element's attributes:

Attribute Type Description
operation-qname required Qualified Name (QName) of the operation exposed by the web service.

If the namespace is present, it must be specified in braces: {namespace}localname

soap-action optional MIME Header SOAPAction of the HTTP request.

If not specified is set to SERVICE/OPERATION

ref-dp optional DataProvider to be used for sending the reply to the caller.

The DataProvider will return a MessageContext to be sent as a reply. If not used, the webservice adapter expects a org.apache.axiom.soap.SOAPEnvelope into object field of GVBuffer.

It has the subelements:

Binding

Defined the GreenVulcano® ESB workflow to invoke.

The following table shows the Binding element's attributes:

Attribute Type Description
gv-service required GreenVulcano® ESB service id
gv-system optional GreenVulcano® ESB system id
gv-operation required service's operation to invoke.
inputType optional Defines how to set the object field of input GVBuffer:
  • context : the MessageContext
  • envelope : the envelope as XML serialized as string
  • body : the body as XML serialized as string
  • body-element : the first child of body as XML serialized as string
  • header : the header as XML serialized as string
  • envelope-om : the envelope as OMElement
  • body-om : the body as OMElement
  • body-element-om : the first child of body as OMElement
  • header-om : the header as OMElement

Default: context

transaction optional Indicates whether the invocation to be performed in GreenVulcano® ESB is transactional or not.

Default: false

A transaction is rolled back if:

    • the service ends with exception
    • the output SOAP response is a Fault
    • the output GVBuffer contains the property WS_FORCE_TX_ROLLBACK=Y
tx-timeout optional Transaction timeout in seconds.

Default to 30s.

PolicyData

This element is an XML that describes the policies for a specific. Currently it is used only for the WS-Security implemented by the module 'rampart'.

Follows an example of policy to be included on the module 'rampart':

<wsp:Policy wsu:Id="UTOverTransport" xmlns:wsu="http://docs.oasis-open.org/
        wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
        xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
     <wsp:ExactlyOne>
         <wsp:All>
             <sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
                 <wsp:Policy>
                     <sp:TransportToken>
                         <wsp:Policy>
                             <sp:HttpsToken RequireClientCertificate="false"/>
                         </wsp:Policy>
                     </sp:TransportToken>
                     <sp:AlgorithmSuite> <wsp:Policy> <sp:Basic256/> </wsp:Policy> </sp:AlgorithmSuite>
                     <sp:Layout> <wsp:Policy> <sp:Lax/> </wsp:Policy> </sp:Layout>
                     <sp:IncludeTimestamp/>
                 </wsp:Policy>
             </sp:TransportBinding>
             <sp:SignedSupportingTokens xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
                 <wsp:Policy>
                     <sp:UsernameTokensp: 
                         IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient"/>
                 </wsp:Policy> 
             </sp:SignedSupportingTokens>
             <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy">
                 <ramp:user>alice</ramp:user>
                 <ramp:passwordCallbackClass>org.apache.rampart.samples.policy.sample01.PWCBHandler
                 </ramp:passwordCallbackClass>
             </ramp:RampartConfig>
         </wsp:All>
      </wsp:ExactlyOne>
</wsp:Policy>

The PolicyData Element is used by:

The following table shows the PolicyData element's attributes:

Attribute Type Description
policy_key required Defines the key to set the policy for the service invocation.

The attribute's admitted values are:

  • rampartPolicy
Transport

Transport configured for webservices.

Its subelements are:

Attribute Type Description
verb optional The attribute's admitted values are:
  • GET
  • POST
  • PUT
  • DELETE
  • jms : with the attributes
Attribute Type Description
connectionFactory optional
initialContextFactory optional
jndiURL optional
destination optional
replyDestination optional
destinationType optional The attribute's admitted values are:
  • queue
  • topic
contentType optional
bytesMessage optional
textMessage optional
EngageModule

The EngageModule Element is used by: AxisWebServiceInvoker and WebService.

The following table shows the EngageModule element's attributes:

Attribute Type Description
name required Defines the name of a module to hire to handle WS-*.

If set, takes precedence over the attribute 'specifications'. The attribute's admitted values are:

  • rampart
  • sandesha2
type optional Defines the class that implements the hander for the module to engage.

The attribute's default value is it.greenvulcano.gvesb.virtual.ws.module.DefaultModuleHandler. The attribute's admitted values are:

  • it.greenvulcano.gvesb.virtual.ws.module.rampart.RampartModuleHandler
  • it.greenvulcano.gvesb.virtual.ws.module.sandesha2.Sandesha2ModuleHandler

The attribute's value can't be null.

specification optional The specification to implement, mandatory and other than 'NO-SPEC' if the name attribute is not declared.

The attribute's default value is: NO-SPEC. The attribute's admitted values are:

  • NO-SPEC
  • WS-Security
  • WS-ReliableMessaging

Its subelements are:

ModuleProperty

This element set specific properties for the module to engage.

For example, the property 'org.apache.axis2.addressing.AddressingConstants.DISABLE_OUTBOUND_ADDRESSING_VALIDATION' setted to 'true' prevents a fault if SOAPAction is not set.

The following table shows the ModuleProperty element's attributes:

Attribute Type Description
name required The attribute's value can't be null.
value required The attribute's value can't be null.
type optional The attribute's default value is: String.

The attribute's admitted values are:

  • String
  • Boolean
  • Byte
  • Short
  • Int
  • Long
  • Float
  • Double

UDDI

The UDDI Element is used by: GVWebServices.

Might contain the following sub-elements:

JAXMLRegistry

GreenVulcano® ESB implementation for the UDDI Server JUDDI.

The following table shows the JAXMLRegistry element's attributes:

Attribute Type Description
class fixed This attribute must assume the value it.greenvulcano.gvesb.j2ee.xmlRegistry.impl.RegistryImpl.
type fixed This attribute must assume the value xmlregistry.
id-registry required Unique identifier of XMLRegistry
query-url required URL definition to perform the query
publish-url required Definition of the URL to make the publication
user-name optional Defining the user name for authentication on the Registry
password optional Defining the password for authentication on the Registry. #Encrypted
organization-name optional Defining the desired organization's name on the Registry

Its sub-elements are:

Properties

List of the properties needed to access the UDDI server.

Its sub-elements are:

connectionFactory

GreenVulcano® ESB Connection Factory.

The following table show the connectionFactory element's attributes:

Attribute Type Description
value required Full qualified name of the connection factory.


connectionProperty

Defines a property to access the UDDI server.

The following table shows the connectionProperty element's attributes:

Attribute Type Description
type required Property type.
name required Fully qualified interface name.
value required Fully qualified name of te implementation.
Proxy

This element defines the Proxy configuration.

It is used by: endpoint, UDDI and ws-call.

The following table shows the Proxy element's attributes:

Attribute Type Description
host required Proxy server IP or name.
port optional Proxy server port. Default: 80
user optional User name.
password optional User password. #Encrypted

AxisExtra

The AxisExtra Element is used by: GVWebServices and it is visible from VulCon® in the Adapter View.

Its sub-elements are:

PasswordCallback

Contains the PwCbBasicHandler items whose attributes are:

Attribute Type Description
type fixed This attribute must assume the value pwcb.
class fixed This attribute must assume the value it.greenvulcano.gvesb.ws.rampart.policy.pwcb.PwCbBasicHandler.

The PwCbBasicHandler Element contains the sub-elements:

UserDef

Each UserDef Element allows to define an User.

The following table shows the UserDef element's attributes:

Attribute Type Description
name required The attribute's value can't be null.
password required #Encrypted