GVWebServices

From GreenVulcano Wiki
Jump to: navigation, search

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