Petals-BC-SOAP 4.4.0+

compared with
Current by Pierre Souquet
on Nov 16, 2018 16:22.

Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (26)

View Page History
{column}

{warning}This version must be installed on Petals ESB 5.0.0\+{warning}

h1. Features
{table-plus:columnAttributes=,,style="text-align:center;",style="text-align:center;"}


|| Parameter || Description || Default || Required ||
| soap-version | The SOAP version used to create SOAP messages. \\
{table-plus:columnAttributes=,,style="text-align:center;",style="text-align:center;"}


|| Parameter || Description || Default || Required ||
| wsa-to | Default address of the external Web Service to send JBI messages to. | \- | No |
{table-plus:columnAttributes=,,style="text-align:center;",style="text-align:center;"}


|| Parameter || Description || Default || Required ||
| wsdl | Path to the WSDL document describing services and operations called by the JBI consumes defined in the SU.\\
The value of this parameter is :
- an URL
- a file relative to the root of the SU package | \- | No |
| service-name | Web Service name to expose. | \- | Yes |
| soap-action | The SOAP action QName to be used for the Web Service, will override the JBI message operation. | \- | No |



|| Parameter || Description || Default || Required ||
| service-parameters | Additional XML configuration for created Axis2 service as CDATA, same as the Axis2 services.xml file one. | | No |
{include:0 CDK Component Configuration Table 5.5.0}

{center}{*}Configuration of the component, component part{*}{center}
{table-plus:columnAttributes=,,style="text-align:center;",style="text-align:center;"}

|| Parameter || Description || Default || Required ||
| http-port | HTTP port of the Jetty embedded server \\ | 8084 | No |
| https-keystore-type \\ | Type of the keystore. \\
Possible values are: JKS, PKCS12. \\ | JKS \\ | No |
| https-keystore-file | File path of the keystore. The SSL support is disabled if the keystore file does not exist, and a WARNING is logged. \\ | \- \\ | No |
| https-keystore-password \\ | Password of the keystore. \\ | \- \\ | No |
| https-key-password \\ | Password of the key. \\ | \- \\ | No |
h2. Using metrics

Several probes providing metrics are included in the component, and are available through the JMX MBean '{{org.ow2.petals:type=custom,name=monitoring\_}}{{{}*<component-id>*}}', where {{*<component-id>*}} is the unique JBI identifier of the component.

h3. Common metrics
| HttpServerThreadPoolAllocatedThreadsMax | The maximum number of threads of the HTTP thread pool that was allocated | integer value, since the last startup of the component | no |
| HttpServerThreadPoolIdleThreadsCurrent | The current number of idle threads of the HTTP thread pool | instant integer value | no |
| HttpServerThreadPoolIdleThreadsMax |  The maximum number of threads of the HTTP thread pool that was idle | integer value, since the last startup of the component | no |
| HttpServerThreadPoolMaxSize | The maximum size, in threads, of the HTTP thread pool | instant integer value | yes, through {{http-thread-pool-size-max}} |
| HttpServerThreadPoolMinSize | The minimum size, in threads, of the HTTP thread pool | instant integer value | yes, through {{http-thread-pool-size-min}} |
* invoked operation, as {{QName}},
* ws-client IP address,
* and execution status (PENDING, ERROR, FAULT, SUCCEEDED). | integer counter value since the last startup of the component | no  |
| IncomingWsRequestsResponseTimeAbs | The aggregated response times of the incoming web-service requests +since the last startup of the component+ grouped by:
* path of the invoked web-service URL,
* URL of the external web-service to invoke,
* the operation to invoke, as {{QName}},
* the message exchange pattern, as {{URI}},
* and execution status (PENDING, ERROR, FAULT, SUCCEEDED). the message exchange pattern, as {{URI}}. | integer instant value | no |
| WsClientPoolClientsInUseMax | The maximum number of web-service client in use, grouped by:
* URL of the external web-service to invoke,
* the operation to invoke, as {{QName}},
* the message exchange pattern, as {{URI}},
* and execution status (PENDING, ERROR, FAULT, SUCCEEDED). the message exchange pattern, as {{URI}}. | integer value, since the last startup of the component | no |
| WsClientPoolExhaustions | The number of exhaustion of the web-service client pool, grouped by:
* URL of the external web-service to invoke,
h2. Receiving alerts

Several alerts are notified by the component through notification of the JMX MBean '{{org.ow2.petals:type=custom,name=monitoring\_}}{{{}*<component-id>*}}', where {{*<component-id>*}} is the unique JBI identifier of the component.

{tip}To integrate these alerts with Nagios, see [petalsesbsnapshot:Receiving Petals ESB defects in Nagios].{tip}

{anchor:op-resolving}

h1. Operation resolving: Mapping from URI, SOAP/WSA Action, Document/Literal-wrapped pattern and RPC/Literal pattern

While it is not difficult for it to know which service is concerned by a request (because its name is in the called URI), determining the concerned operation is more complex.

There exists many ways to approach this question (see for example [http://www.ibm.com/developerworks/library/ws-whichwsdl/]).

In Petals we support the most common ones (those that are provided by Axis2) in that order:
- URI: if the service call's URI has the form: .../services/MyService/myOperation then the operation will be myOperation.
- SOAP/WSA Action: if the http header contains a SOAP Action or the SOAP message header contains a WSA Action, then it will be used to resolve the operation as defined in the WSDL.
- Document/Literal wrapping: from the first element's QName of the body, the operation that contains the message that contains the part that refers to this element is used.
- RPC/Literal: from the first element's localName (and not full QName) of the body, the operation that has the same name will be used.

For the last two, in case of ambiguity, the call will fails.