Ws-call

From GreenVulcano Wiki
Jump to: navigation, search

Description

The GreenVulcano® ESB plugin ws-call defines the parameters for calling a Web Service.

VulCon / GV Console Configuration

The ws-call Element is used by Channel and routed-call. Its attributes are:

Attribute Type Description
type fixed This attribute must assume the value call.
class fixed This attribute must assume the value it.greenvulcano.gvesb.virtual.ws.WSCallOperation.
name required Operation name. Used in the Flow section to associate workflow nodes to VCL operations.

and its subelements:

AxisWebServiceInvoker

This element is used by ws-call.

Its attributes are:

Attribute Type Description
type fixed This attribute must assume the value invoker.
class fixed This attribute must assume the value it.greenvulcano.gvesb.virtual.ws.GVWebServiceInvoker.
service optional Service name.
serviceNS optional Service NameSpace.
operation required Operation name.
emptyAction optional f true the SOAPAction header is not set in the request. Default to false.
portName optional Port Name
timeout optional Timeout in seconds.
ref-dp optional Name of Data Provider to use for preparing the request.
throwsFault optional If true throws Exception "Error invoking operation". If false returns the Fault response. Default to false.

The attribute's admitted values are:

  • true
  • false
use-saaj optional Defines whether to use SAAJ to invoke the WebService mode instead of the default Axis2 mode.
NOTE: If you choose to use SAAJ as a way of calling the WebService, Axis2 modules are not enabled.
The attribute's admitted values are:
  • true
  • false
returnType optional Defines how to set the response data in the object field of output 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 OMMessage
  • body-om : the body as OMMessage
  • body-element-om : the first child of body as OMMessage
  • header-om : the header as OMMessage

Default: context

Attribute Type Description
emptyAction optional if true the SOAPAction header is not set in the request. Default to false.

and has the sub-elements:

XPathNamespace

Defines a namespace that can be used in XPath. The 'gvesb' prefix is reserved.

The following table shows the XPathNamespace element's attributes:

Attribute Type Description
prefix required Namespace prefix.
namespace optional Namespace.

If not set, the prefix is associated to the default namespace. The attribute's value can't be null.

Might contain the sub-element Description.

WSDLInfo

This element returns a WSDL through his URL.

Its attributes are:

Attribute Type Description
type fixed This attribute must assume the value wsdlinfo.
wsdl required WSDL file URL.
Attribute Type Description
ws-endpoint-url optional Override the endpoint URL defined in the wsdl. Is overridden by the WS_ENDPOINT_URL GVBuffer's property value.

EngageModule

Its attributes are:

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 required Defines the class that implements the hander for the module to engage.
The attribute's admitted values are:
  • it.greenvulcano.gvesb.virtual.ws.module.DefaultModuleHandler (Default value) .
  • it.greenvulcano.gvesb.virtual.ws.module.rampart.RampartModuleHandler
  • it.greenvulcano.gvesb.virtual.ws.module.sandesha2.Sandesha2ModuleHandler
specification required 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

It has the sub-elements:

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.

Below is 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:UsernameToken 
                       sp: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 only by EngageModule and has the following attribute:

Attribute Type Description
policy_key required Defines the key to set the policy for the service invocation.
The attribute's admitted values are:
  • rampartPolicy
ModuleProperty

This element is a specific property form the module to engage. For example:
The property org.apache.axis2.addressing.AddressingConstants.DISABLE_OUTBOUND_ADDRESSING_VALIDATION set to true prevents a fault if SOAPAction is not setted.

The ModuleProperty Element is used only by EngageModule. Its attributes are:

Attribute Type Description
name required Name of the ModuleProperty
value required
type optional The attribute's default value is String and its admitted values are:
  • String
  • Boolean
  • Byte
  • Short
  • Int
  • Long
  • Float
  • Double