Client Folder
You can use the elements in the client folder to formulate and submit requests to HTTP, FTP, SFTP, e-mail, WebSocket, and LDAP servers.
Summary of Elements in this Folder
The following elements are available in this folder:
Element | Package and Description |
---|---|
pub.client:ftp | WmPublic. Performs a series of FTP actions. |
pub.client.ftp:append | WmPublic. Appends data to a remote file. |
pub.client.ftp:cd | WmPublic.
Changes the working directory on the FTP server. (This service corresponds to
the standard FTP command
cd dirpath .)
|
pub.client.ftp:cdls | WmPublic.
Changes the working directory on the FTP server and retrieves a list of file
names. (This service corresponds to the standard FTP commands
cd dirpath
and
ls
namePattern .)
|
pub.client.ftp:delete | WmPublic.
Deletes a file in the current working directory on an FTP server. (This service
corresponds to the standard FTP command
delete
somefile .)
|
pub.client.ftp:dir | WmPublic.
Retrieves the file list during an FTP session. (This service corresponds to the
standard FTP command
dir
namepattern .)
|
pub.client.ftp:get | WmPublic.
Retrieves a file from a remote FTP server. (This service corresponds to the
standard FTP command
get .)
|
pub.client.ftp:getCompletedNotification | WmPublic. A publishable document type that represents the document published to notify parties that an FTP get command has completed. |
pub.client.ftp:login | WmPublic. Connects to a remote FTP server and logs in with a specified user name and password. |
pub.client.ftp:logout | WmPublic. Logs off of the FTP server and ends the current FTP session. |
pub.client.ftp:ls | WmPublic.
Retrieves the file list during an FTP session. (This service corresponds to the
standard FTP command
ls
namepattern .)
|
pub.client.ftp:mdelete | WmPublic.
Deletes multiple files in the current working directory on an FTP server. (This
service corresponds to the standard FTP command
mdelete
pattern .)
|
pub.client.ftp:mget | WmPublic.
Transfers multiple files from the remote FTP server. (This service corresponds
to the standard FTP command
mget .)
|
pub.client.ftp:mput | WmPublic.
Transfers multiple files to a remote FTP server. (This service corresponds to
the standard FTP command
input .)
|
pub.client.ftp:put | WmPublic.
Transfers a file to a remote FTP server. (This service corresponds to the
standard FTP command
put .)
|
pub.client.ftp:putCompletedNotification | WmPublic. A publishable document type that represents the document published to notify parties that an FTP put command has completed. |
pub.client.ftp:quote | WmPublic. Executes a given FTP command. |
pub.client.ftp:rename | WmPublic.
Renames a file on a remote FTP server. (This service corresponds to the
standard FTP command
rename .)
|
pub.client.ftp:sessioninfo | WmPublic. Returns session information for all of the FTP servers that users are currently logged into. |
pub.client:http | WmPublic. Issues an HTTP request that you specify and returns the HTTP response. |
pub.client.ldap:add | WmPublic. Inserts a new entry into the directory. |
pub.client.ldap:bind | WmPublic. Performs an LDAP bind operation that associates the connection with the specified principal. |
pub.client.ldap:cancelNotification | WmPublic. Cancels a previously created notification request. |
pub.client.ldap:compare | WmPublic. Compares the value of an attribute in the LDAP directory with a value specified by the service. |
pub.client.ldap:delete | WmPublic. Removes an entry from the directory. |
pub.client.ldap:modify | WmPublic. Performs an LDAP modify operation that allows you to specify a list of attributes with corresponding lists of values to add to, replace, or remove from the directory entry. |
pub.client.ldap:registerNotification | WmPublic. Creates a notification (or "persistent search") that causes Integration Server to listen for LDAP events. When the notification gets an event, the specified service is called. |
pub.client.ldap:rename | WmPublic. Performs an LDAP rename (move) operation allowing you to rename an entry. |
pub.client.ldap:search | WmPublic. Performs an LDAP search operation with the specified parameters and returns the results of the search. |
pub.client.oauth:executeRequest | WmPublic. Allow clients to access protected resources using an OAuth token. |
pub.client.oauth:getExternalAccessToken | WmPublic. Requests an access token from the authorization server. |
pub.client:restClient | WmPublic.
Creates and sends REST API requests over HTTP or HTTPS.
This service is internal to Integration Server and you must not execute this service manually. |
pub.client.sftp:cd | WmPublic. Changes the working directory on the remote SFTP server. |
pub.client.sftp:chgrp | WmPublic. Changes the group ownership of one or more remote files. |
pub.client.sftp:chmod | WmPublic. Changes permissions of one or more remote files. |
pub.client.sftp:chown | WmPublic. Changes the user of one or more remote files. |
pub.client.sftp:get | WmPublic. Retrieves a file from a remote SFTP server and saves it on the local machine. |
pub.client.sftp:login | WmPublic. Creates a secure connection to the SFTP server using the specified user alias or configuration parameters. |
pub.client.sftp.admin:getDefaultAlgorithms | WmPublic. Returns the default key exchange algorithms, Message Authentication Code (MAC) algorithms, and ciphers for the specified SFTP client version. |
pub.client.sftp.admin:getHostKey | WmPublic. Gets the host key from the SFTP server. |
pub.client.sftp:logout | WmPublic. Logs off the user from the SFTP server and ends the current SFTP session. |
pub.client.sftp:ls | WmPublic. Retrieves the remote directory listing of the specified path or current remote directory if path is not specified. |
pub.client.sftp:mkdir | WmPublic. Creates a new remote directory. |
pub.client.sftp:put | WmPublic. Transfers a file to a remote SFTP server. |
pub.client.sftp:pwd | WmPublic. Displays the remote working directory on the SFTP server. |
pub.client.sftp:rename | WmPublic. Renames a file or directory on a remote SFTP server. |
pub.client.sftp:rm | WmPublic. Deletes one or more remote files on the SFTP server. |
pub.client.sftp:rmdir | WmPublic. Deletes one or more remote directories on the SFTP server. |
pub.client.sftp:symlink | WmPublic. Creates a symbolic link between the old path and the new path of a file. |
pub.client:smtp | WmPublic. Sends a MIME-type e-mail message. |
pub.client:soapClient | WmPublic. Creates and sends SOAP 1.1 and SOAP 1.2 messages over HTTP, HTTPS, or JMS transports for any style/use combination supported by Integration Server. |
pub.client:soapHTTP | WmPublic. Deprecated - There is no replacement service. Submits a SOAP message to a server via HTTP or HTTPS. |
pub.client:soapRPC | WmPublic. Deprecated - There is no replacement service. Submits a SOAP remote procedure call via HTTP or HTTPS. |
pub.client:websocket | WmPublic. Establishes a WebSocket connection to the URL captured in the identified WebSocket client endpoint. |
pub.client:ftp
WmPublic. Performs a series of FTP actions.
This service executes the following sequence:
- Logs on to an FTP server.
- Changes to a specified working directory.
- Performs one of the following FTP commands:
ls
,put
, orget
. - Logs off the FTP server.
pub.client:ftp
service to get a file from a remote FTP server and place it in the
WmRoot
folder, which may be a security concern.
Input Parameters
serverhost |
String Name or IP address of the FTP server (for
example,
ftp.netscape.com ).
|
|
serverport |
String Port number of the FTP server (for example,
4566 ).
|
|
username |
String Valid FTP user of the remote FTP server (for
example,
anonymous ).
|
|
password | String Optional. Valid password of the FTP user. | |
command |
String One of the following FTP commands:
ls ,
put , or
ge t.
|
|
dirpath |
String Working directory of the FTP server (for
example, /tmp/pub ). If the
directory does not exist, the server throws an exception.
|
|
transfermode |
String One of two FTP file transfer modes:
ascii or
binary .
The default is
ascii .
|
|
transfertype |
String One of two FTP data transfer types:
passive or
active .
The default is active.
|
|
localfile |
String When
command is set to
put , this
parameter specifies the name of the local file you want to transfer. (If
content is specified, this
field is ignored.)
When
command is set to
|
|
remotefile |
String When
command is set to
put , this
parameter specifies the name of the remote file in which you want the save the
data you are sending.
When
command is set to
|
|
content |
java.io.InputStream, byte[ ], or String Data to be
transferred when
command is set to
put .
|
|
encoding |
String Optional. Character set in which the document
is encoded. Specify an IANA-registered character set (for example,
ISO-8859-1 ).
This information is required to correctly convert the String object to bytes when performing a get. If parameter is null, the default JVM encoding is used. |
|
serverencoding | String Optional. Specifies the encoding this service uses to convert the incoming FTP command string to encoded bytes that are supported by IANA and the FTP server. If the parameter is null, the service uses the 'UTF-8' character set to encode the FTP command String to bytes. | |
timeout | String Time (measured in seconds) this service waits for the FTP server response on the command channel before timing out and aborting the request. Default is to wait forever. | |
putunique |
String Optional. Indicates whether to send a STOR or a
STOU (Store as Unique File) command to the remote FTP server. Set to:
|
|
secure |
Document Indicates whether the FTP session is with a
secure FTP server.
Note:
Integration Server does not support FTPS (FTP over SSL) requests through FTP
proxy.
|
|
Key | Description | |
auth |
String The kind of authentication mechanism to use:
None ,
SSL ,
TLS , or
TLS-P .
|
|
securedata |
String Use the value
false for
a client sending PROT C (Data Channel Protection Level Clear).
Use the value
Note: If you do not set a value, the
default is
false .
|
|
cleanlinefeeds |
String Optional. Indicates whether the service should
retain or remove carriage return characters at the end of each line of text.
Set to:
|
|
newSession |
String Optional. Flag indicating whether a a new FTP
session will be created for this FTP operation. Set to:
|
|
clientTimeout | String Optional. Specifies the idle time-out, measured in seconds, for this FTP session. If clientTimeout is set to 0 (zero), the session will never time out. The default is 600 seconds (10 minutes). | |
proxyAlias |
String Optional. Name of the proxy server alias for
the proxy server to which
Integration Server routes the FTP request.
If you do not specify a proxyAlias, Integration Server routes the FTP request through the proxy server specified in the default FTP proxy alias. If there is no default FTP proxy alias, the action taken by Integration Server depends on the value specified for the watt.net.proxy.useNonDefaultProxies parameter.
For more information about proxy server usage, refer to How Uses Proxy Servers. |
Output Parameters
command |
String FTP command that was executed (ls ,
get , or
put ).
|
dirlist |
String
List File names returned by the
ls
command.
|
localfile | String Name of the local file used for a get or put operation. |
remotefile | String Name of the remote file used for a get or put operation. |
content | byte[ ] If localfile was not specified, this parameter contains the Content object sent to the remote server (if a put command was executed) or received from the remote server (if a get command was executed). |
returncode | String Standard FTP protocol return code. |
returnmsg | String Standard FTP protocol return message. |
logmsg | String FTP log message. |
Usage Notes
If you set the auth variable in the secure parameter to SSL, TLS, or TLS-P, pub.client.ftp automatically sends the following sequence of FTP commands prior to sending the USER command:
AUTH <SSL | TLS | TLS-P> PBSZ 0 PROT <P | C>
The client FTP services will not negotiate for
less security than you have specified with the
auth
parameter. However, if you set the
auth
variable to
None
, the client
FTP services can operate (in a non-secure mode) with any FTP server.
The FTP services will always connect to a secure FTP server using a non-secure (SSL) socket. After getting a valid reply from the AUTH command, the FTP services will convert the connected socket to an SSL socket and initiate SSL handshaking.
Prior to Integration Server version 10.15, the pub.client:ftp service included the secure/useJSSE input parameter which specified whether Integration Server created the outbound connection using the Java Secure Socket Extension (JSSE) library. Beginning with Integration Serverversion 10.15, Integration Server establishes all secure outbound connections with JSSE. If you migrated to Integration Server 10.15 and a migrated service invokes pub.client:ftp, the secure/useJSSE parameter still appears in the pipeline. However, Integration Server ignores the value of the secure/useJSSE input parameter, proceeding as if secure/useJSSE were set to yes.
pub.client.ftp:append
WmPublic. Appends data to a remote file.
If the remote file does not exist, the service creates the file.
Input Parameters
sessionkey | String Unique key for the current FTP session. The sessionkey is returned by the pub.client.ftp:login service. |
transfermode |
String FTP file transfer mode (ascii or
binary ).
The default is
ascii .
|
content | java.io.InputStream, byte[ ], or String Data to be transferred to the remote file. |
localfile | String Optional. Name of the local file to append to the remote file. Used only when content is not specified. |
remotefile | String Name of the remote file to which to append the data specified in content or localfile. |
Output Parameters
returncode | String Standard FTP protocol return code. |
returnmsg | String Standard FTP protocol return message. |
logmsg | String FTP log messages for the entire user session. |
pub.client.ftp:cd
WmPublic. Changes the working
directory on the FTP server. (This service corresponds to the standard FTP
command
cd dirpath
.)
Input Parameters
sessionkey | String Unique key for the current FTP session. The sessionkey is returned by the pub.client.ftp:login service. |
dirpath |
String Directory to which you want to switch on the
FTP server. For example:
pub
|
Output Parameters
returncode | String Standard FTP protocol return code. |
returnmsg | String Standard FTP protocol return message. |
logmsg | String FTP log messages for the entire user session. |
pub.client.ftp:cdls
WmPublic. Changes the working
directory on the FTP server and retrieves a list of file names. (This service
corresponds to the standard FTP commands
cd dirpath
and
ls namePattern
.)
Input Parameters
sessionkey | String Unique key for the current FTP session. The sessionkey is returned by the pub.client.ftp:login service. |
dirpath |
String Directory to which you want to switch on the
FTP server (for example,
pub ).
|
filenamepattern |
String Optional. Pattern that specifies the file names
to list (for example,
*.txt ).
|
orderby |
String Optional. The order of the returned file list.
Set to:
|
Output Parameters
dirlist | String List List of file names matching filenamepattern. |
returncode | String Standard FTP protocol return code. |
returnmsg | String Standard FTP protocol return message. |
logmsg | String FTP log messages for the entire user session. |
pub.client.ftp:delete
WmPublic. Deletes a file in the
current working directory on an FTP server. (This service corresponds to the
standard FTP command
delete somefile
.)
Input Parameters
sessionkey | String Unique key for the current FTP session. The sessionkey is returned by the pub.client.ftp:login service. |
remotefile |
String Name of the file to be deleted from the current
working directory. For example:
text.txt
If you specify pattern-matching characters in remotefile, all files matching the pattern will be deleted. |
Output Parameters
returncode | String Standard FTP protocol return code. |
returnmsg | String Standard FTP protocol return message. |
logmsg | String FTP log messages for the entire user session. |
pub.client.ftp:dir
WmPublic. Retrieves the file list
during an FTP session. (This service corresponds to the standard FTP command
dir namepattern
.)
Input Parameters
sessionkey | String Unique key for the current FTP session. The sessionkey is returned by the pub.client.ftp:login service. | |
filenamepattern |
String Optional. Pattern that specifies the names of
the files to include in the list (for example,
*.txt ).
|
Output Parameters
dirlist | String List Directory listing of the files matching filenamepattern including the file names and timestamps. |
returncode | String Standard FTP protocol return code. |
returnmsg | String Standard FTP protocol return message. |
logmsg | String FTP log messages for the entire user session. |
pub.client.ftp:get
WmPublic. Retrieves a file from a
remote FTP server. (This service corresponds to the standard FTP command
get
.)
Input Parameters
sessionkey | String Unique key for the current FTP session. The sessionkey is returned by the pub.client.ftp:login service. | |
transfermode |
String FTP file transfer mode (ascii or
binary ).
The default is
ascii .
|
|
localfile | String Optional. Name of a local file where the retrieved file is to be saved. | |
remotefile | String Name of the remote file. | |
encoding |
String Optional. Character set in which the file is
encoded. This variable is required to convert the file to bytes correctly.
Specify an IANA-registered character set (for example:
ISO-8859-1 ).
If this variable is null, the encoding currently set for the FTP session is used. If encoding was never set for this FTP session, the default JVM encoding is used. |
|
largefilethreshold | String Optional. Defines the size (in bytes) of a "large" file. For more information, see the Usage Notes. | |
If you... | Then... | |
Set to 0 | All files will be
considered large files. This means:
|
|
Set to any value greater than 0 | Any file larger
than the value you specify will be considered large. This means:
|
|
Leave blank | No file is
considered large. This means:
|
|
cleanlinefeeds |
String Optional. Indicates whether the service should
retain or remove carriage return characters at the end of each line of text.
Set to:
|
Output Parameters
content | byte[ ] Data retrieved from the remote file. |
returncode | String Standard FTP protocol return code. |
returnmsg | String Standard FTP protocol return message. |
logmsg | String FTP log messages for the entire user session. |
islargefile |
String Indicates whether the file is considered to be
large (as specified by the input parameter
largefilethreshold). A value
of:
|
contentstream | Object An java.io.InputStream object. |
Usage Notes
The largefilethreshold parameter improves the ability of pub.client.ftp:get to retrieve larger files. If a retrieved file is larger than the size specified in the largefilethreshold parameter, and the localfile parameter is empty (which means the retrieved file is retrieved to memory, not to a file on disk), the Integration Server streams the large file to a temporary file. While this will improve the scalability of pub.client.ftp:get, it will also reduce the throughput of the operation because the retrieved file will be written to a temporary file.
See Also
pub.client.ftp:getCompletedNotification
WmPublic. A publishable document type that represents the document published to notify parties that an FTP get command has completed on Integration Server which is acting as the FTP server.
When a user completes an FTP get command in his or her own user directory (that is, when the RETR command is completed on the server side but the server has not yet acknowledged the client with return code 226), an event is fired to notify interested parties by publishing a document. EDI packages that subscribe to this document will remove the file from the server.
Parameters
username | String The login user name through the FTP Listener. |
filename | String The absolute path name of the file. |
_env | Document Optional. A document reference to pub.publish:envelope which defines the structure and contents of the envelope of a published document. |
Usage Notes
Integration Server publishes an instance document of pub.client.ftp:getCompletedNotification when an FTP client has completed an FTP get command on Integration Server through an FTP/S port. Because the retrieved file is located on the Integration Server file system, only subscribers located on the same Integration Server would have access to the file. Consequently the pub.client.ftp:getCompletedNotification publishable document type is set to publish locally only and uses the IS_LOCAL_CONNECTION messaging connection alias. When Integration Server publishes an instance document for pub.client.ftp:getCompletedNotification, only subscribers located on the same Integration Server receive the document. Software AG does not recommend changing the assigned messaging connection alias.
pub.client.ftp:login
WmPublic. Connects to a remote FTP server and logs in with a specified user name and password.
Input Parameters
serverhost |
String Name or IP address of the FTP server (for
example,
ftp.netscape.com ).
|
|
serverport |
String Port number on which the FTP server listens for
requests (for example,
4566 ).
The default is
|
|
dataport |
String Optional. Listener port number of the data
transfer channel (for example,
3345 ).
If you do not specify
dataport, the
Integration Server will choose the listener port number. This value is used
only when the
transfertype value is
|
|
username |
String Valid FTP user on the remote FTP server (for
example,
anonymous ).
|
|
password |
String Optional. Valid password for the FTP user
specified in
username (for example,
someone@somewhere ).
|
|
account | String Optional. The user name for an account on the FTP server. Specify account if your FTP host requires account information. The account is defined in the FTP protocol to further identify the user that is identified by the username and password input variables. | |
transfertype |
String Type of the FTP data transfer mode (passive or
active ).
The default is
active .
|
|
encoding |
String Optional. Default character set for encoding
data transferred during this session. Specify an IANA-registered character set
(for example,
ISO-8859-1 ).
If you do not set encoding, the default JVM encoding is used. |
|
serverencoding | String Optional. Specifies the encoding this service uses to convert the incoming FTP command string to encoded bytes that are supported by IANA and the FTP server. If the parameter is null, the service uses the 'UTF-8' character set to encode the FTP command String to bytes. | |
timeout | String Optional. Time (measured in seconds) to wait for a response from the FTP server before timing out and terminating the request. The default is to wait forever. | |
secure |
Document Indicates whether the FTP session is with a
secure FTP server.
Note:
Integration Server does not support FTPS (FTP over SSL) requests through FTP
proxy.
Note: Integration Server does not support implicit FTPS, which is also deprecated.
|
|
Key | Description | |
auth |
String The kind of authentication mechanism to use:
None ,
SSL ,
TLS , or
TLS-P .
TLS-P is a shortcut that is
equivalent to the sequence
|
|
securedata |
String Use the value
false for
a client sending PROT C (Data Channel Protection Level Clear).
Use the value
Note: If you do not set a value, the
default is
false .
|
|
newSession |
String Optional. Flag indicating whether a a new FTP
session will be created for this FTP operation. Set to:
|
|
clientTimeout | String Optional. Specifies the idle time-out, measured in seconds, for this FTP session. If clientTimeout is set to 0 (zero), the session will never time out. The default is 600 seconds (10 minutes). | |
proxyAlias |
String Optional. Name of the proxy alias for the proxy
server through which
Integration Server routes the FTP request.
If you do not specify a proxyAlias, Integration Server routes the FTP request through the proxy server specified in the default FTP proxy alias. If there is no default FTP proxy alias, the action taken by Integration Server depends on the value specified for the watt.net.proxy.useNonDefaultProxies parameter.
For more information about proxy server usage, refer to webMethods Integration Server Administrator’s Guide. |
Output Parameters
sessionkey | String Unique key for the current FTP session. This session key must be provided to execute most other services in pub.client.ftp. |
returncode | String Standard FTP protocol return code. |
returnmsg | String Standard FTP protocol return message. |
logmsg | String FTP log messages for the entire user session. |
Usage Notes
If you set the
auth
variable in the
secure
parameter to
SSL
,
TLS
, or
TLS-P
,
pub.client.ftp:login automatically sends the following sequence of FTP commands
prior to sending the USER command:
AUTH <SSL | TLS | TLS-P> PBSZ 0 PROT <P | C>
The client FTP services will not negotiate for
less security than you have specified with the
auth
parameter. However, if you set the
auth
variable to
None
, the client
FTP services can operate (in a non-secure mode) with any FTP server.
The FTP services will always connect to a secure FTP server using a non-secure (SSL) socket. After getting a valid reply from the AUTH command, the FTP services will convert the connected socket to an SSL socket and initiate SSL handshaking.
If the
watt.client.ftp.session.logoutOnServiceCompletion parameter is set to
true
, the FTP
session created by the
pub.client.ftp:login service
closes automatically when the invoking service completes execution. If the
value is set to
false
, then the
pub.client.ftp:logout service
must be invoked to close the FTP(S) session.
Prior to Integration Server version 10.15, the pub.client.ftp:login service included the secure/useJSSE input parameter which specified whether Integration Server created the outbound connection using the Java Secure Socket Extension (JSSE) library. Beginning with Integration Serverversion 10.15, Integration Server establishes all secure outbound connections with JSSE. If you migrated to Integration Server 10.15 and a migrated service invokes pub.client.ftp:login, the secure/useJSSE parameter still appears in the pipeline. However, Integration Server ignores the value of the secure/useJSSE input parameter, proceeding as if secure/useJSSE were set to yes.
pub.client.ftp:logout
WmPublic. Logs off of the FTP server and ends the current FTP session.
Input Parameters
sessionkey | String Unique key for the current FTP session. The sessionkey is returned by the pub.client.ftp:login service. |
Output Parameters
returncode | String Standard FTP protocol return code. |
returnmsg | String Standard FTP protocol return message. |
logmsg | String FTP log messages for the entire user session. |
pub.client.ftp:ls
WmPublic. Retrieves the file list
during an FTP session. (This service corresponds to the standard FTP command
ls namepattern
.)
Input Parameters
sessionkey | String Unique key for the current FTP session. The sessionkey is returned by the pub.client.ftp:login service. | |
filenamepattern |
String Optional. Pattern that specifies the names of
the files to include in the list (for example,
*.txt ).
|
|
orderby | String Optional. The order of the returned file list. | |
Value of orderby | Description | |
none
|
Default. Sends an NLST command to the remote FTP server. | |
timestamp
|
Returns the list in
order of the timestamp. Sends an NLST -t command to the remote FTP server.
Note: The -t command is not part of
the RFC959 standard. Some FTP servers may not support this command. Servers
that support this command may return the results in either ascending or
descending order of creation time.
|
Output Parameters
dirlist | String List List of file names matching filenamepattern. |
returncode | String Standard FTP protocol return code. |
returnmsg | String Standard FTP protocol return message. |
logmsg | String FTP log messages for the entire user session. |
Usage Note
During an FTP session, this service uses the
character set specified in the
encoding
parameter of the
pub.client.ftp:login service. If the
file list this service retrieves includes characters from other languages, set
the
encoding
parameter appropriately. For example, set
encoding
to
SJIS
for file
names containing Japanese characters. If you do not set
encoding
in
pub.client.ftp:login, the default JVM
encoding is used.
pub.client.ftp:mdelete
WmPublic. Deletes multiple files in
the current working directory on an FTP server. (This service corresponds to
the standard FTP command
mdelete pattern
.)
Input Parameters
sessionkey | String Unique key for the current FTP session. The sessionkey is returned by the pub.client.ftp:login service. |
filenamepattern |
String Pattern that specifies the names of the files
to be deleted from the current working directory (for example,
*.txt ).
Important: If you do not
specify a value for
filenamepattern, all files in
the working directory are deleted.
|
Output Parameters
returncode | String Standard FTP protocol return code. |
returnmsg | String Standard FTP protocol return message. |
logmsg | String FTP log messages for the entire user session. |
pub.client.ftp:mget
WmPublic. Transfers multiple files
from the remote FTP server. (This service corresponds to the standard FTP
command
mget
.)
Input Parameters
sessionkey | String Unique key for the current FTP session. The sessionkey is returned by the pub.client.ftp:login service. |
transfermode |
String FTP file transfer mode (ascii or
binary ).
The default is
ascii .
|
localdir |
String Directory in the local file system where the
retrieved files are to be saved (for example,
c:\temp\ftpfiles ).
|
filenamepattern |
String Pattern that specifies the names of the files
to be retrieved (for example,
*.txt ).
|
encoding |
String Optional. Character set in which the files are
encoded. This variable is required to convert the files to bytes correctly.
Specify an IANA-registered character set (for example,
ISO-8859-1 ).
If you do not specify encoding, the encoding assigned to the FTP session is used. If the encoding was not set for the FTP session, the default JVM encoding is used. |
Output Parameters
filenames | String List List of files retrieved from the remote FTP server. |
returncode | String Standard FTP protocol return code. |
returnmsg | String Standard FTP protocol return message. |
logmsg | String FTP log messages for the entire user session. |
pub.client.ftp:mput
WmPublic. Transfers multiple files
to a remote FTP server. (This service corresponds to the standard FTP command
input
.)
Input Parameters
sessionkey | String Unique key for the current FTP session. The sessionkey is returned by the pub.client.ftp:login service. |
transfermode |
String FTP file transfer mode (ascii or
binary ).
The default is
ascii .
|
localdir |
String Local directory containing the files you want
to transfer to the remote FTP server (for example,
c:\temp\ftpfiles ).
|
filenamepattern |
String Pattern that specifies the names of the files
to be transferred (for example,
*.txt ).
|
putunique |
String Optional. Indicates whether to send a STOR or a
STOU (Store as Unique File) command to the remote FTP server. Set to:
|
Output Parameters
filenames | String List List of files transferred to the remote FTP server. |
returncode | String Standard FTP protocol return code. |
returnmsg | String Standard FTP protocol return message. |
logmsg | String FTP log messages for the entire user session. |
Usage Note
Some FTP servers, such as the Integration Server FTP Listener, do not support "putting" a unique file. When using the pub.client.ftp:put or pub.client.ftp:mput service to put a unique file to an FTP server that does not support putting a unique file, you will encounter an error like this one:
com.wm.app.b2b.server.ServiceException: 500 'STOU': command not understood.
pub.client.ftp:put
WmPublic. Transfers a file to a
remote FTP server. (This service corresponds to the standard FTP command
put
.)
Input Parameters
sessionkey | String Unique key for the current FTP session. The sessionkey is returned by the pub.client.ftp:login service. |
transfermode |
String FTP file transfer mode (ascii or
binary ).
The default is
ascii .
|
content | java.io.InputStream, byte[ ], or String Data to be transferred to the remote file. |
localfile | String Optional. Name of the local file to be appended to the remote file. Used only if content is not specified. |
remotefile | String The name of the remote file. |
putunique |
String Optional. Indicates whether to send a STOR or a
STOU (Store as Unique File) command to the remote FTP server. Set to:
|
Output Parameters
returncode | String Standard FTP protocol return code. |
returnmsg | String Standard FTP protocol return message. |
logmsg | String FTP log messages for the entire user session. |
Usage Notes
-
Some FTP servers, such as the Integration Server FTP Listener, do not support "putting" a unique file. When using the pub.client.ftp:put or pub.client.ftp:mput service to put a unique file to an FTP server that does not support putting a unique file, you will encounter an error like this one:
com.wm.app.b2b.server.ServiceException: 500 'STOU': command not understood.
-
When a client invokes this service to transport a file, the FTP listener determines the content handler to use based on the file's extension. The content handler converts the file content to the input values for the service to invoke. The Integration Server_directory \instances\instance_name\lib\mime.types file contains the mappings of file extension to content type.
By default, if this service encounters a file that has no file extension, the default content handler is used. To override this, you can configure any content handler to handle files that have no file extension. To do this, add a line in the Integration Server_directory \instances\instance_name\lib\mime.types file that specifies the content type of the files with no extension, and the ftp_no_extension key. For example, to allow a content handler to accept text/xml files that have no extension, add this line to your mime.types file:
text/xml ftp_no_extension
pub.client.ftp:putCompletedNotification
WmPublic. A publishable document type that represents the document published to notify parties that an FTP put command has completed on Integration Server which is acting as the FTP server.
When a user completes an FTP put command in his or her own user directory (that is, when the STOR command is completed on the server side but the server has not yet acknowledged the client with return code 226), an event is fired to notify interested parties by publishing a document. EDI packages that subscribe to this document will retrieve the file from the server.
Parameters
username | String The login user name through the FTP Listener. |
filename | String The absolute path name of the file. |
_env | Document Optional. A document reference to pub.publish:envelope which defines the structure and contents of the envelope of a published document. |
Usage Notes
Integration Server publishes an instance document of pub.client.ftp:putCompletedNotification when an FTP client has completed an FTP put command on Integration Server through an FTP/S port. Because the put file is located on the Integration Server file system, only subscribers located on the same Integration Server would have access to the file. Consequently the pub.client.ftp:putCompletedNotification publishable document type is set to publish locally only and uses the IS_LOCAL_CONNECTION messaging connection alias. When Integration Server publishes an instance document for pub.client.ftp:putCompletedNotification, only subscribers located on the same Integration Server receive the document. Software AG does not recommend changing the assigned messaging connection alias.
pub.client.ftp:quote
WmPublic. Executes a given FTP command.
You can use this service to execute non-standard FTP commands.
Input Parameters
sessionkey | String Unique key for the current FTP session. The sessionkey is returned by the pub.client.ftp:login service. |
string | String The command to be executed on the FTP server. This service submits the command exactly as it is specified in string. |
Output Parameters
returncode | String Standard FTP protocol return code. |
returnmsg | String Standard FTP protocol return message. |
logmsg | String FTP log messages for the entire user session. |
pub.client.ftp:rename
WmPublic. Renames a file on a
remote FTP server. (This service corresponds to the standard FTP command
rename
.)
Input Parameters
sessionkey | String Unique key for the current FTP session. The sessionkey is returned by the pub.client.ftp:login service. |
oldname |
String Fully qualified name of the file you want to
rename (for example,
temp/oldname.txt ).
|
newname |
String New fully qualified name for the file (for
example,
temp/newname.txt ).
|
Output Parameters
returncode | String Standard FTP protocol return code. |
returnmsg | String Standard FTP protocol return message. |
logmsg | String FTP log messages for the entire user session. |
pub.client.ftp:sessioninfo
WmPublic. Returns session information for all of the FTP servers that users are currently logged into.
Input Parameters
name | Not used. Reserved for future use. |
Output Parameters
sessioninfo | Document List Information about the current FTP sessions. Each document in sessioninfo represents a single session and contains the following information: | |
Key | Description | |
serverhost | String Name or IP address of the FTP server. | |
serverport | String Port number on which the FTP server listens for requests. | |
dataport | String Listener port of the data transfer channel used by this session. | |
username | String User logged on to FTP server. | |
password | String Password for the FTP user specified in username. | |
account | String Conditional. The user name for an account on the FTP server. The account is defined in the FTP protocol to further identify the user that is identified by the username and password input variables. | |
transfertype |
String Data transfer mode (passive or
active )
used by this session.
|
|
encoding | String Conditional. IANA character set used by this session. If encoding is not returned, the encoding was not explicitly set and the default JVM encoding is in effect. |
Usage Notes
When you start an FTP session with pub.client.ftp:login, you can set the optional dataport parameter to specify the port number for data transfers. During the FTP session, pub.client.ftp:sessionInfo returns the dataport parameter with the port number used for data transfers.
If you do not set the dataport parameter in pub.client.ftp:login, the server uses a random port number. During the FTP session, pub.client.ftp:sessionInfo will return a 0 for the dataport parameter to indicate that the port number used for data transfers is random.
pub.client:http
WmPublic. Issues an HTTP request that you specify and returns the HTTP response.
Input Parameters
url |
String URL of the resource that you want to access.
For example:
Important: This string
must
begin with
http://
or
https:// .
|
||
method |
String Specifies the HTTP method you want to use.
Valid values are:
|
||
loadAs |
String Optional. Form in which you want the
pub.client:http service to
store the returned document. Set to:
|
||
data |
Document Data that you want the
pub.client:http service to
submit with the HTTP request. Specify data using one or more of the following
keys.
Important: When you use
more than one key,
args is appended first,
table is appended second, and
string is appended last.
|
||
Key | Description | ||
args |
Document Optional. Name/value pairs that you want this
service to submit to the resource in
url. You can use
args to submit data via the
POST, PUT, PATCH, GET, DELETE, or HEAD method.
To specify data using args, create one String element for each name/value pair that you want to submit, where the element's name represents the name portion of the pair and the element's value represents the value portion of the pair. When you use args, the pub.client:http service will automatically:
When you submit data using
args,
Integration Server automatically sets the value of the Content-Type header
to
If you want to explicitly specify a different Content-Type value, you must submit the value using the string or bytes variable. |
||
table |
String
Table Optional. Data that the
pub.client:http service will
use to construct a query string to submit to the resource specified in
url. You can use
table to submit data via the
POST, PUT, PATCH, GET, DELETE, or HEAD method.
table is similar to args, but it allows you to submit unnamed values in a query string, not just name/value pairs. To specify data using table, create one row for each value that you want to submit, where the contents of column 0 of the String Table represents the name portion of the pair (leave this column null to submit an unnamed value) and the contents of column 1 represents the value portion of the pair. When you use table, the pub.client:http service will automatically:
When you submit data using
table,
Integration Server automatically sets the value of the Content-Type header
to
|
||
string |
String Optional. Text that you want the
pub.client:http service to
submit to the resource in
url. You can use
string to submit data via the
POST, PUT, PATCH, GET, or HEAD method.
If you use string to submit data, make sure that you specify the string exactly as you want it presented in the HTTP request. (If you are using the GET or HEAD method, make sure you URL-encode the contents of string.) Note: When you use
string, the
pub.client:http service will
automatically prefix the entire query string with "?" if it submits the data in
string via a GET or HEAD. You
do not need to include this character in
string.
When performing a POST, PUT, or PATCH, string will be submitted to the resource defined by url as the body of the request message. |
||
bytes |
byte[
] Optional. Data that you want this service to submit to the resource in
url. You can use
bytes to submit data via the
DELETE, POST, PUT, or PATCH methods only.
Important: When you use
bytes and another element
(args,
table, or
string) to specify data, the
service appends the data from the
args,
table, or
string element to
url. The service appends
args to
url first,
table second, and
string last. The service
encodes the data from the
bytes element in the body of
the post.
Note: For POST, PUT, and PATCH, you
can specify only
stream,
bytes, or
mimeStream. If you specify more
than one, the
pub.client:http service ends
with an exception.
|
||
mimeStream |
Java.io.InputStream Optional. MIME or SMIME message
that you want this service to submit to the resource in
url. A
mimeStream is created by the
pub.mime:getEnvelopeStream,
pub.smime:createEncryptedData,
pub.smime:createSignedData,
pub.smime.keystore:createSignedData or services. It contains both headers and content.
The headers in the
mimeStream are appended to the
http headers.
You can use mimeStream to submit data via the POST, PUT, or PATCH methods only. Note: For POST, PUT, and PATCH, you
can specify only
stream,
bytes, or
mimeStream. If you specify more
than one, the
pub.client:http service ends
with an exception.
|
||
stream |
java.io.InputStream Optional. Data that you want the
pub.client:http service to
submit to the resource in
url. You can use
stream to submit data via the
POST, PUT, or PATCH methods only.
Important: When you use
stream and another element
(args,
table,
string or
bytes) to specify data, the
service appends the data from the
args,
table, or
string element to
url. The service appends
args to
url first,
table second, and
string last. The service
encodes the data from the
stream element in the body of
the post.
Note: For POST, PUT, and PATCH, you
can specify only
stream,
bytes, or
mimeStream. If you specify more
than one, the
pub.client:http service ends
with an exception.
|
||
encoding |
String Optional. Character set in which the URL
data parameters are encoded
(args,
table and
string). Encoding is required
to correctly convert the String object to bytes when generating the URL for a
post. Specify an IANA-registered character set (for example,
ISO-8859-1 ).
If this variable is null, the default JVM encoding is used. Because string is used in the body of the post and not used for building the URL, you do not need to specify encoding for the data parameter string. |
||
auth | Document Optional. Authorization information that the pub.client:http service will submit if the resource specified in url is protected. | ||
Key | Description | ||
type |
String Type of authentication scheme that you want
this service to use when it submits this request. Set to:
You do not need to specify a value for type if this request will specify values for kerberos to use Kerberos authentication. If you specify a value for type and provide kerberos values, Integration Server includes the authentication information related to the specified type and the Kerberos ticket in the outbound request. |
||
user |
String User name that this service will submit when
requesting a protected resource.
Note: If you have specified
NTLM as
type, you must specify
user in the following format:
domain_name\user_name |
||
pass | String Password associated with user. | ||
delegation |
String Type of delegation to execute a service on
behalf of other user. Set to:
|
||
token |
String The access token to submit to the OAuth
resource server. Required only when
type is set to
Bearer .
|
||
kerberos | Document Optional. Kerberos information that Integration Server uses to acquire a Kerberos ticket to include in the outbound client request. Integration Server includes the ticket in the HTTP Authorization header using the Negotiate authentication scheme. Specify kerberos details only if you need to use Kerberos authentication to access a secured website. | ||
Key | Description | ||
jaasContext |
String Optional. The custom JAAS context used for
Kerberos authentication. You must specify a JAAS context for the outbound
request to use Kerberos authentication.
Integration Server includes a JAAS context named IS_KERBEROS_OUTBOUND that can be used with outbound requests. If you specify a value for jaasContext, you must also specify a value for servicePrincipal. |
||
clientPrincipal |
String Optional. The name of the client principal to
use for Kerberos authentication.
You must specify a
clientPrincipal value if the
specified
jaasContext does not include
the
The IS_KERBEROS_OUTBOUND JAAS context
does not include a
|
||
clientPassword | String Optional. The password for the specified client principal. You must specify clientPassword if the specified jaasContext does not specify a keytab file. | ||
servicePrincipal |
String Optional. The name of the principal that is
used with the service that the Kerberos client wants to access. The service
provider provides the Service Principal Name.
Specify the Service Principal Name in the following format: principal-name.instance-name@realm-name
You must specify servicePrincipal if you supplied a jaasContext. |
||
servicePrincipalForm |
String Optional. The format in which you want to
specify the principal name of the service that is registered with the principal
database. Set to:
|
||
requestDelegatableToken |
String Optional.
Specify if you want to request for a
forwardable ticket granting ticket to send to the intermediary. The
intermediary can use this forwardable ticket granting ticket for Kerberos
delegation. Set to:
|
||
headers |
Document Optional. Fields that you want to explicitly
override in the HTTP request header issued by the
pub.client:http service.
Specify a key in headers for each header field that you want to set, where the key's name represents the name of the header field and the key's value represents the value of that header field. If you do not set headers, the pub.client:http service uses the default header values for the Accept and User-Agent headers as determined by the watt.net.default.accept and watt.net.userAgent respectively. |
||
timeout |
String Optional. Time, measured in milliseconds, that
Integration Server waits for a response from the remote server before timing
out and terminating the request. If you do not specify a value,
Integration Server uses the value of the watt.net.timeout server
configuration parameter.
For information about the watt.net.timeout server configuration parameter, see webMethods Integration Server Administrator’s Guide. |
||
maxKeepAlive Connections |
String Optional. Number of client keep alive
connections that you want
Integration Server to retain in the client connection pool it uses for this
HTTP connection.
Integration Server establishes a client connection pool for each protocol (i.e., HTTP or HTTPS), host, and port combination. How the service uses this input value differs based on whether a suitable client connection pool already exists for the HTTP connection.
|
||
keepAliveTimeout |
String Optional. Number of seconds that you want
Integration Server to keep an idle connection in the client connection pool
before closing it.
Integration Server establishes a client connection pool for each protocol (i.e., HTTP or HTTPS), host, and port combination. How the service uses this input value differs based on whether a suitable client connection pool already exists for the HTTP connection.
|
||
newSession |
String Optional. Flag indicating whether a new session
will be created for this HTTP request. This parameter overrides the
watt.server.new.http.session.context server configuration parameter. For
information about the watt.server.new.http.session.context server configuration
parameter, see
webMethods Integration Server
Administrator’s Guide.
Set to:
|
||
trustStore | String Optional. Alias for the truststore that contains the list of certificates that Integration Server uses to validate the trust relationship. If you do not specify a truststore alias, the default truststore alias will be used. | ||
proxyAlias |
String Optional. Name of the proxy alias for the proxy
server to which
Integration Server routes the HTTP request.
If you do not specify a proxyAlias, Integration Server routes the HTTP request through the proxy server specified in the default HTTP proxy alias. If there is no default HTTP proxy alias, the action taken by Integration Server depends on the value specified for the watt.net.proxy.useNonDefaultProxies parameter.
For more information about proxy server usage, refer to webMethods Integration Server Administrator’s Guide. |
||
connectTimeout |
String Optional. Time, measured in milliseconds, that
Integration Server waits to connect to the remote server before timing out
and terminating the request. If you do not specify a value for
connectTimeout,
Integration Server uses the value specified for the watt.net.timeout server
configuration parameter. If no value is specified for the watt.net.timeout
server configuration parameter,
Integration Server waits for the timeout value defined by the operating
system before terminating the connection request.
For more information about the watt.net.timeout server configuration parameter, see webMethods Integration Server Administrator’s Guide. |
||
followRedirect |
String Optional. Whether the outbound request follows
a redirect when receiving a response code between 300 and 400. Set to one of
the following:
Note: A value of
yes or
no
overrides the value of the watt.net.http.followRedirect parameter.
|
Output Parameters
encodedURL |
String The URL that was submitted by
pub.client:http. This will
contain any argument set in
args,
table, or
string.
If the remote server redirected pub.client:http to a different location, encodedURL will contain the URL that pub.client:http submitted to the server to which it was redirected. |
|
header | Document Conditional. HTTP response headers. | |
Key | Description | |
lines | Document Fields in the response header, where key names represent field names and values represent field values. | |
status | String HTTP status code of the response. | |
statusMessage | String HTTP status message of the response. | |
body | Document Body of the HTTP response. | |
Key | Description | |
bytes |
byte[
] Conditional. Body of the HTTP response represented as a byte[ ].
bytes is returned only when the
loadAs input parameter is set
to
bytes .
|
|
stream |
java.io.InputStream Conditional. The body of the HTTP
response represented as an InputStream.
stream is returned only when
the
loadAs input parameter is set
to
stream .
|
Usage Notes
For the GET, HEAD, OPTIONS, and TRACE methods, the pub.client:http service sends a URL only. The service does not send a body.
The pub.client:http service sends the data/string input in the query of the URL when using the GET or HEAD methods, but sends the input as the body of the request when using the POST, PUT or PATCH methods.
If
url begins
with
https:
, you can
use
pub.security:setKeyAndChain to specify the certificate chain. If you do not
specify a certificate chain,
pub.client:http uses the
default outbound SSL certificate settings to authenticate the resources.
When using pub.client:http to create an outbound HTTPS connection, before initiating the SSL handshake with the remote server, Integration Server sets the SSL socket timeout to the value of the watt.net.ssl.server.clientHandshakeTimeout value.
If pub.client:http does not receive a response within the time-out period specified in the server's watt.net.timeout server configuration parameter, it will throw an exception. For information about the watt.net.timeout server configuration parameter, see webMethods Integration Server Administrator’s Guide.
For the HTTP request, the
pub.client:http service uses a
client connection from a client connection pool. When you set the
loadAs
input parameter to
stream
so that the
service returns the response body as a stream, the connection remains in use
and is not returned to the connection pool until you close the stream. To close
the stream and return the connection to the pool, you can use the
pub.io:close
service or the
close()
method on the returned stream object.
- When watt.net.http401.throwException is set to true, if the pub.client:http service receives a 401 error, the service throws a NetException.
- When watt.net.http401.throwException is set to false, if the pub.client:http service receives a 401 error, the service suppresses the NetException and places the HTTP response header and body, if one exists, into the header and body fields in the service output.
When the HTTP response contains the HTTP 302 redirection status code and the pub.client:http service is configured to redirect, the service redirects the request to the URL provided by the remote server. If the remote server redirected pub.client:http to a different location, the output parameter encodedURL will contain the URL that pub.client:http submitted to the server to which the service was redirected.
You can use the watt.net.http.redirect.performSSRFcheck server configuration parameter to have Integration Server perform an IP address and protocol check to prevent Server-Side Request Forgery (SSRF) when following a redirection request.
If the server to which pub.client:http is redirected returns an HTTP response with a 401 status code and watt.net.http401.throwException is set to false, the pub.client:http services places the header and body of the response in the output pipeline. The service that invokes pub.client:http can examine the header/status field to determine if the server to which pub.client:http was redirected returned a 401. If it did, the service can re-issue the outbound request directly to the URL in encodedURL field, making sure to supply credentials with the request.
- When set to true, the pub.client:http service throws a ServiceException when it receives a 501 to 599 level response from a remote HTTP server.
- When set to false, the pub.client:http service returns the status code, response headers, and response body in the service output when it receives a 501 to 599 level response from a remote HTTP server.
When the method input variable is DELETE, you can supply a value in the data/bytes input variable. The pub.client:http service will transmit the value in the body of the request to the remote server
If data is supplied in a format that is not supported with an HTTP method, the pub.client:http service ignores the data. For example, use of the data/stream and data/mimeStream input variables is not supported with DELETE. If the data/stream or data/mimeStream input variables specify a value when method is set to DELETE, the pub.client:http service ignores data/stream or data/mimeStream.
For POST, PUT and PATCH, if a value is supplied
for
data/args
and/or
data/table, the
pub.client:http service sets
the Content-Type header for the request to is set to
application/x-www-form-urlencoded
. The
service ignores a Content-Type value supplied using a name/value pair in
headers.
-
url =
http://example-host:8080/getOrders?cust=116
-
data/args=
{{“since”, “20180201”}, {“greaterThan”, “250.00”}}
Result in
pub.client:http sending this
URL:
http://example-host:8080/getOrders?cust=116&somce=20180201&greaterThan=250.00
The watt.server.http.setDefaultContentType server configuration parameter determines whether Integration Server sets the default Content-Type header in outbound http requests. This includes requests sent by the pub.client:http service. If the parameter value is true, Integration Server sets the default Content-Type header in the request even though the client does not include it. If the parameter value is false, Integration Server does not set the default Content-Type header, when it is originally absent in the request. However, Integration Server automatically sets the Content-Type header to "application/x-www-form-urlencoded" when data is passed to the pub.client:http service using the data/args or data/table input parameters, irrespective of the watt.server.http.setDefaultContentType parameter value.
When using NTLM, Integration Server supports authentication for both HTTP and HTTPS. Web server providing NTLM authentication must be configured to return the response header WWW-Authenticate: NTLM and optionally the header WWW-Authenticate: Negotiate. If the NTLM server returns only WWW-Authenticate: Negotiate header, then authentication cannot proceed.
When the
pub.client:http service submits
a password digest for authentication (that is, the
auth/type
field is set to
Digest
) and the
HTTP server response includes the header field “Content-Type” but does not
contain the charset parameter,
Integration Server uses the value of the watt.server.netEncoding server
configuration parameter as the default character set.
When using Kerberos authentication, principal name and principal password can be specified in the JAAS context file and in the pub.client:http service in the clientPrincipal and clientPassword fields in the auth\kerberos document. If the principal name and password are specified in the JAAS context file supplied to jaasContext and in the pub.client:http service, the values in the JAAS context file take precedence.
By default, for outbound requests that require Kerberos authentication, Integration Server generates a Java Kerberos ticket using the JGSS Kerberos OID. If you need Integration Server to generate a SPNEGO-based Kerberos ticket for outbound requests that use Kerberos authentication, set the watt.security.kerberos.client.useSPNEGO server configuration parameter to true. This instructs Integration Server to generate a SPNEGO token using SPNEGO OID (Object Identifier) for all outbound requests that require Kerberos authentication.
When Integration Server acts as a client (original requester) and requires a forwardable ticket granting ticket, ensure that you set the requestDelegatableToken parameter to true.
When Integration Server acts as an intermediary, ensure that you set the delegation parameter to kerberos to use Kerberos delegation.
If you have a large set of data and want to compress the data before sending it via pub.client:http, then you can use pub.compress:compressData service to compress the data and then send it. For more information on pub.compress:compressData, see pub.compress:compressData.
Prior to Integration Server version 10.15, the pub.client:http service included the useJSSE input parameter which specified whether Integration Server created the outbound connection using the Java Secure Socket Extension (JSSE) library. Beginning with Integration Serverversion 10.15, Integration Server establishes all secure outbound connections with JSSE. If you migrated to Integration Server 10.15 and a migrated service invokes pub.client:http, the useJSSE parameter still appears in the pipeline. However, Integration Server ignores the value of the useJSSE parameter , proceeding as if useJSSE were set to yes.
pub.client.ldap:add
WmPublic. Inserts a new entry into the directory.
Input Parameters
url | String Optional. URL of the directory server to connect to. For example ldap://servername:389. |
principal | String Optional. The principal for the directory server. |
credentials | String Optional. Credentials for the directory server. |
timeout |
String Optional. Connection timeout in milliseconds.
The default value is 30000 milliseconds. |
ldapEnv | Record Optional. Key/value parameters to be passed to JNDI to further define the connection environment. See your JNDI provider documentation or the Oracle JNDI documentation for more information about parameters you can pass to JNDI. |
close |
String Flag that specifies whether to close the
connection after the service finishes. Set to:
|
dn | String The distinguished name of the new entry to add to the directory. |
attrs |
Document
List Optional. LDAP attributes and their corresponding values. If an
attribute is specified more than once, it will be assigned multiple values. The
following example shows how to specify a user name of John Smith and one
nickname.
![]() |
attrsData |
Document Optional. LDAP attributes and their
corresponding values. If an attribute is specified more than once, it will be
assigned multiple values. The following example shows how to assign a user name
of John Smith with two nicknames.
![]() |
Output Parameters
connectionHandle | Object Optional. The returned connection object. Returned only if the close parameter is set to "no". |
Usage Notes
Specify only one of attrs or attrsData. If you specify both, the service uses attrs and ignores attrsData.
When
close is
set to yes,
Integration Server removes the
connectionHandle from the
pipeline, but does not close the LDAP connection. To close the LDAP connection,
set the watt.server.ldap.cleanContext server configuration parameter to
true
. For
information about the watt.server.ldap.cleanContext server configuration
parameter, see
webMethods Integration Server
Administrator’s Guide.
pub.client.ldap:bind
WmPublic. Performs an LDAP bind operation that associates the connection with the specified principal.
Input Parameters
url | String URL of the LDAP server to connect to. |
principal | String Optional. The principal for the LDAP server. |
credentials | String Optional. Credentials for the LDAP server. |
timeout |
String Optional. Connection timeout in milliseconds.
The default value is 30000 milliseconds. |
ldapEnv | Record Optional. Key/value parameters to be passed to JNDI to further define the connection environment. See your JNDI provider documentation or the Oracle JNDI documentation for more information about parameters you can pass to JNDI. |
close |
String Flag that specifies whether to close the
connection after the service finishes. Set to:
|
Output Parameters
connectionHandle | Object Optional. The returned connection object. Returned only if the close parameter is set to "no". |
Usage Notes
When
close is
set to yes,
Integration Server removes the
connectionHandle from the
pipeline, but does not close the LDAP connection. To close the LDAP connection,
set the watt.server.ldap.cleanContext server configuration parameter to
true
. For
information about the watt.server.ldap.cleanContext server configuration
parameter, see
webMethods Integration Server
Administrator’s Guide.
pub.client.ldap:cancelNotification
WmPublic. Cancels a previously created notification request.
Input Parameters
url | String Optional. URL of the LDAP server to connect to. |
principal | String Optional. The principal for the LDAP server. |
credentials | String Optional. Credentials for the LDAP server. |
timeout |
String Optional. Connection timeout in milliseconds.
The default value is 30000 milliseconds. |
ldapEnv | Record Optional. Key/value parameters to be passed to JNDI to further define the connection environment. See your JNDI provider documentation or the Oracle JNDI documentation for more information about parameters you can pass to JNDI. |
close |
String Flag that specifies whether to close the
connection after the service finishes. Set to:
|
dn | String The distinguished name of the entry. |
connectionHandle | Object Optional. Connection object returned by a previously invoked LDAP service. |
scope | String The scope of the search. Must be "object" (only search the specified directory entry), "onelevel" (only search the immediate children of the specified directory entry), or "subtree" (search the directory, its children, and all of their children). |
Output Parameters
connectionHandle | Object Optional. The returned connection object. Returned only if the close parameter is set to "no". |
Usage Notes
When
close is
set to yes,
Integration Server removes the
connectionHandle from the
pipeline, but does not close the LDAP connection. To close the LDAP connection,
set the watt.server.ldap.cleanContext server configuration parameter to
true
. For
information about the watt.server.ldap.cleanContext server configuration
parameter, see
webMethods Integration Server
Administrator’s Guide.
pub.client.ldap:compare
WmPublic. Compares the value of an attribute in the LDAP directory with a value specified by the service.
Input Parameters
url | String Optional. URL of the LDAP server to connect to. |
principal | String Optional. The principal for the LDAP server. |
credentials | String Optional. Credentials for the LDAP server. |
timeout |
String Optional. Connection timeout in milliseconds.
The default value is 30000 milliseconds. |
ldapEnv | Record Optional. Key/value parameters to be passed to JNDI to further define the connection environment. See your JNDI provider documentation or the Oracle JNDI documentation for more information about parameters you can pass to JNDI. |
close |
String Flag that specifies whether to close the
connection after the service finishes. Set to:
|
dn | String The distinguished name of the entry whose attribute value you want to compare to attrValue. |
connectionHandle | Object Optional. Connection object returned by a previously invoked LDAP service. |
attrName | String Name of the attribute whose value you want to compare to attrValue. |
attrValue | String The string to compare against the value of the attribute identified by attrName. |
Output Parameters
connectionHandle | Object Optional. The returned connection object. Returned only if the close parameter is set to "no". |
result | String The result of the compare operation. Can be "true" or "false". |
Usage Notes
When
close is
set to yes,
Integration Server removes the
connectionHandle from the
pipeline, but does not close the LDAP connection. To close the LDAP connection,
set the watt.server.ldap.cleanContext server configuration parameter to
true
. For
information about the watt.server.ldap.cleanContext server configuration
parameter, see
webMethods Integration Server
Administrator’s Guide.
pub.client.ldap:delete
WmPublic. Removes an entry from the directory.
Input Parameters
url | String Optional. URL of the LDAP server to connect to. |
principal | String Optional. The principal for the LDAP server. |
credentials | String Optional. Credentials for the LDAP server. |
timeout |
String Optional. Connection timeout in milliseconds.
The default value is 30000 milliseconds. |
ldapEnv | Record Optional. Key/value parameters to be passed to JNDI to further define the connection environment. See your JNDI provider documentation or the Oracle JNDI documentation for more information about parameters you can pass to JNDI. |
close |
String Flag that specifies whether to close the
connection after the service finishes. Set to:
|
dn | String The distinguished name of the entry to delete. |
connectionHandle | Object Optional. Connection object returned by a previously invoked LDAP service. |
Output Parameters
connectionHandle | Object Optional. The returned connection object. Returned only if the close parameter is set to "no". |
Usage Notes
This service does not flag an error if the entry is not deleted. One way to check is to use pub.client.ldap:search to search for the entry. If the entry is not found, you know it has been deleted.
When
close is
set to yes,
Integration Server removes the
connectionHandle from the
pipeline, but does not close the LDAP connection. To close the LDAP connection,
set the watt.server.ldap.cleanContext server configuration parameter to
true
. For
information about the watt.server.ldap.cleanContext server configuration
parameter, see
webMethods Integration Server
Administrator’s Guide.
pub.client.ldap:modify
WmPublic. Performs an LDAP modify operation that allows you to specify a list of attributes with corresponding lists of values to add to, replace, or remove from the directory entry.
Input Parameters
url | String Optional. URL of the LDAP server to connect to. |
principal | String Optional. The principal for the LDAP server. |
credentials | String Optional. Credentials for the LDAP server. |
timeout |
String Optional. Connection timeout in milliseconds.
The default value is 30000 milliseconds. |
ldapEnv | Record Optional. Key/value parameters to be passed to JNDI to further define the connection environment. See your JNDI provider documentation or the Oracle JNDI documentation for more information about parameters you can pass to JNDI. |
close |
String Flag that specifies whether to close the
connection after the service finishes. Set to:
|
dn | String The distinguished name of the entry to modify. |
connectionHandle | Object Optional. Connection object returned by a previously invoked LDAP service. |
attrs |
Document
List Optional. For each LDAP attribute to change, specifies the attribute
name, the values affected, and the action to perform on those values. The
following example shows how to specify the removal of John Smith's nickname
Johnny.
![]() |
Output Parameters
connectionHandle | Object Optional. The returned connection object. Returned only if the close parameter is set to "no". |
Usage Notes
When
close is
set to yes,
Integration Server removes the
connectionHandle from the
pipeline, but does not close the LDAP connection. To close the LDAP connection,
set the watt.server.ldap.cleanContext server configuration parameter to
true
. For
information about the watt.server.ldap.cleanContext server configuration
parameter, see
webMethods Integration Server
Administrator’s Guide.
pub.client.ldap:registerNotification
WmPublic. Creates a notification (or "persistent search") that causes Integration Server to listen for LDAP events. When the notification gets an event, the specified service is called.
Input Parameters
url | String Optional. URL of the LDAP server to connect to. |
principal | String Optional. The principal for the LDAP server. |
credentials | String Optional. Credentials for the LDAP server. |
timeout |
String Optional. Connection timeout in milliseconds.
The default value is 30000 milliseconds. |
ldapEnv | Record Optional. Key/value parameters to be passed to JNDI to further define the connection environment. See your JNDI provider documentation or the Oracle JNDI documentation for more information about parameters you can pass to JNDI. |
close |
String Flag that specifies whether to close the
connection after the service finishes. Set to:
|
dn | String The distinguished name of the entry to be monitored. |
connectionHandle | Object Optional. Connection object returned by a previously invoked LDAP service. |
scope | String The scope of the search. Must be "object" (only search the specified directory entry, "onelevel" (only search the immediate children of the specified directory entry), or "subtree" (search the directory entry, its children, and all of their children). |
service | String The target service to be invoked when the LDAP event is retrieved. |
user | String Optional. Integration Server user to run service (the target service to be invoked when the LDAP event is retrieved). If you do not specify a user, the service runs as the Default user. Make sure user has the permissions necessary to run the service. Be careful when assigning the user because no password is required when invoking a service in this manner. It is recommended that you create a special account just for invoking the target service. |
Output Parameters
connectionHandle | Object Optional. The returned connection object. Returned only if the close parameter is set to "no". |
Usage Notes
When the pub.client.ldap:registerNotification service creates a notification, Integration Server listens for four different types of events: objectAdded, objectRemoved, objectRenamed, and objectChanged. If any one of these events is triggered, pub.client.ldap: registerNotification calls the specified target service and passes these inputs to it:
Pipeline Input | Description |
---|---|
type | One of the following depending on which event was triggered - "objectAdded", "objectRemoved", "objectRenamed", "objectChanged". |
dn | Distinguished name of the entry that triggered the event. |
attributes | Any additional LDAP attributes from the event. |
oldDn | Applicable only for objectRenamed event. Distinguished name of the entry before it was renamed. |
If an error occurs, pub.client.ldap:registerNotification places an input called "exception" in the pipeline. This input includes details on the exception that occurred.
Some LDAP servers do not support persistent searches and therefore do not support notifications.
When
close is
set to yes,
Integration Server removes the
connectionHandle from the
pipeline, but does not close the LDAP connection. To close the LDAP connection,
set the watt.server.ldap.cleanContext server configuration parameter to
true
. For
information about the watt.server.ldap.cleanContext server configuration
parameter, see
webMethods Integration Server
Administrator’s Guide.
pub.client.ldap:rename
WmPublic. Performs an LDAP rename (move) operation allowing you to rename an entry.
Input Parameters
url | String Optional. URL of the LDAP server to connect to. |
principal | String Optional. The principal for the LDAP server. |
credentials | String Optional. Credentials for the LDAP server. |
timeout |
String Optional. Connection timeout in milliseconds.
The default value is 30000 milliseconds. |
ldapEnv | Record Optional. Key/value parameters to be passed to JNDI to further define the connection environment. See your JNDI provider documentation or the Oracle JNDI documentation for more information about parameters you can pass to JNDI. |
close |
String Flag that specifies whether to close the
connection after the service finishes. Set to:
|
connectionHandle | Object Optional. Connection object returned by a previously invoked LDAP service. |
newDn | String The new name for the entry. |
Output Parameters
connectionHandle | Object Optional. The returned connection object. Returned only if the close parameter is set to "no". |
Usage Notes
When
close is
set to yes,
Integration Server removes the
connectionHandle from the
pipeline, but does not close the LDAP connection. To close the LDAP connection,
set the watt.server.ldap.cleanContext server configuration parameter to
true
. For
information about the watt.server.ldap.cleanContext server configuration
parameter, see
webMethods Integration Server
Administrator’s Guide.
pub.client.ldap:search
WmPublic. Performs an LDAP search operation with the specified parameters and returns the results of the search.
Input Parameters
url | String Optional. URL of the LDAP server to connect to. |
principal | String Optional. The principal for the LDAP server. |
credentials | String Optional. Credentials for the LDAP server. |
timeout |
String Optional. Connection timeout in milliseconds.
The default value is 30000 milliseconds. |
ldapEnv | Record Optional. Key/value parameters to be passed to JNDI to further define the connection environment. See your JNDI provider documentation or the Oracle JNDI documentation for more information about parameters you can pass to JNDI. |
close |
String Flag that specifies whether to close the
connection after the service finishes. Set to:
|
dn | String The distinguished name indicating the root from to begin the search. |
connectionHandle | Object Required if the close parameter is set to "yes", otherwise it is optional. Connection object returned by a previously invoked LDAP service. |
scope | String The scope of the search. Must be "object" (only search the specified directory entry), "onelevel" (only search the immediate children of the specified directory entry), or "subtree" (search the directory entry, its children, and all their children). |
filter | String The filter string that works with RFC 2254. |
countLimit | String Optional. The maximum number of results to return (0, the default, indicates no limit). |
pageSize | String Optional. The number of entries to return in a page. |
timeLimit | String Optional. The number of milliseconds to wait for the search to complete (0, the default, indicates to wait forever). |
returnAttributes | Record Optional. A list of attribute names to return (an empty array indicates that no results should be returned. A null array, the default, indicates that all attributes should be returned). |
returnObjects | String Optional. Specifies whether or not objects associated with the results should be returned. Can be "yes" or "no". The default is "no". |
dereferenceLinks | String Optional. Whether to return the symbolic link to the entry or the entry itself. Can be "yes"/"no". The default is "yes", which returns the entry to which the link points. |
isDocumentList |
String Optional. Whether to return results as a list.
Set to:
|
ldapCookie | byte[] Optional. Contains the index of the page count for the search. |
Output Parameters
connectionHandle |
Object Optional. The returned connection object.
Returned only if the
close parameter is set to
No .
|
ldapCookie | byte[] Optional. Contains the index of the page count for the search. |
results |
Document Conditional. The returned results of the
search. Returned only if
isDocumentList is set to
No .
|
resultsList |
Document
List Conditional. Returned only if
isDocumentList is set to
Yes .
|
Usage Notes
To see if no match was found, check for either:
- A results parameter that does not contain a key-value pair.
- A resultsList parameter with a size of 0.
When
close is
set to yes,
Integration Server removes the
connectionHandle from the
pipeline, but does not close the LDAP connection. To close the LDAP connection,
set the watt.server.ldap.cleanContext server configuration parameter to
true
. For
information about the watt.server.ldap.cleanContext server configuration
parameter, see
webMethods Integration Server
Administrator’s Guide.
pub.client.oauth:executeRequest
WmPublic. Allows Integration Server to access protected resources on a resource server using an existing Open Authentication (OAuth) access token.
When a client application requires the OAuth protocol to access a user’s protected resources on a third-party resource server (for example, Facebook, Google, Twitter, or another Integration Server), the client application must present an access token on behalf of the user in order to gain access. This service presents the access token to the resource server on behalf of the user.Integration Server uses the Scribe API, a simple open source client implementation, to connect to OAuth providers. The Scribe API provides client implementations for many providers such as Facebook, Google, and Twitter. For information about using the Scribe API, see the Usage Notes.
Input Parameters
provider |
String Name of the service provider to which the
client will connect.
Integration Server uses this parameter to determine which OAuth client
implementation in the Scribe library to use when issuing requests.
Possible values are
Note: If set to
Other ,
you must specify a value for
providerClass.
|
providerClass |
String Name of a class that implements the
org.scribe.builder.api.Api
interface.
This parameter is required only when
the
provider parameter is set to
Note: The
org.scribe.builder.api.Api
interface is part of the Scribe API. It facilitates the use of the
pub.client.oauth:executeRequest
service to connect to providers other than
IntegrationServer . For more
information about
org.scribe.builder.api.Api see
the Usage Notes.
|
clientID |
String The client identifier assigned to the client by
the provider.
The clientID is used to authenticate the client to the provider. The value is assigned by the provider at registration time. |
clientSecret |
String The secret assigned to the client when it
registered with the provider.
Use this parameter to specify either the client secret or the key to the client secret in the outbound password store. For information about using the outbound password store, see the Usage Notes. |
accessToken |
String The access token assigned to the client
application when it registered with the provider.
Note: The process for obtaining the
accessToken varies depending on
the provider. For information about obtaining the
accessToken, refer to your
provider's documentation.
Use this parameter to specify either the access token or the key to the access token in the outbound password store. For information about using the outbound password store, see the Usage Notes. |
acccessTokenSecret |
String Optional. The access token secret assigned to
the client application when it registered with the provider.
Note: The process for obtaining the
accessTokenSecret varies
depending on the provider. For information about obtaining the
accessTokenSecret, refer to
your provider's documentation.
Use this parameter to specify either the access token secret or the key to the access token secret in the outbound password store. For information about using the outbound password store, see the Usage Notes. Note: Not all providers use an access
token secret. If the provider issued a secret with the token, you must specify
it with the
accessTokenSecret parameter.
|
resourceUri |
String The URI given to the client application when it
registered with the provider.
The client application uses this URI when issuing requests to the provider. It points to the resource that the client application wants to access on the provider. |
method |
String The HTTP method
Integration Server will use to issue the request to the provider.
Possible values are
|
headers |
Document
List Optional. One or more name/value pairs to add to the header of the
request sent to the provider.
If the provider requires a request header, you must provide a value. |
queryString Parameters |
Document
List Optional. One or more name/value pairs to add to the URL of the
get
request sent to the provider.
|
bodyParameters | Document List Optional. One or more name/value pairs to add to the body of the request sent to the provider. |
requestDataType |
String Optional. If supplying data with the request to
the provider, indicates the data type of the
requestData parameter. If set
to:
|
requestData |
Object Optional. Data to include in the body of the
request sent to the provider. The value can be a string or a byte[].
Note:
The data type of requestData must match what is specified by the requestDataType parameter. requestData is ignored if bodyParameters is specified. |
responseDataType |
String Optional. Indicates the data type of the
responseData output parameter.
Set to:
|
Output Parameters
responseData |
Object The response from the provider. If the
responseDataType is set to:
|
Usage Notes
-
Since the values for the clientSecret, accessToken, and accessTokenSecret parameters contain sensitive data, you might want to consider storing their values in the Integration Server outbound password store. For information about services you can use to store these values in the outbound password store, see the pub.security.outboundPasswords in the About the Security Elements folder.
If you decide to use the outbound password store, the value for each parameter (clientSecret, accessToken, and accessTokenSecret) must match the key you supplied in the pub.security.outboundPasswords services. Integration Server uses that key to retrieve the values from the store, then uses the values to send the request to the provider.
If you decide not to use the outbound password store, Integration Server sends the request to the provider using the values you supply with the clientSecret, accessToken, and accessTokenSecret parameters.
- You can use this service to connect to OAuth providers
other than
Integration Server by setting the
provider
parameter to
Other
and the providerClass parameter to the name of an org.scribe.builder.api.Api implementation. The org.scribe.builder.api.Api interface is defined in the Scribe open source API. For this approach, Software AG recommends the following:- That you download the Scribe API source code from the
GitHub website. You can either browse the code or generate the Javadoc for the
Scribe classes using the following command:
javadoc -sourcepath your_scribe_install_dir/src/main/java -d your_destination_dir org.scribe.builder.api
- That you check the Scribe OAuth library to see if an
implementation for the provider that you want to use already exists. Scribe
provides client implementation for many providers.
Important: If an implementation already exists but the provider has changed its interface and the implementation in the Scribe library no longer works, you can either modify the implementation yourself or request an update from the author of Scribe.
- If your provider supports OAuth 2.0, then extend org.scribe.builder.api.DefaultApi20. If your provider supports OAuth 1.0a, then extend org.scribe.builder.api.DefaultApi10a.
- That you download the Scribe API source code from the
GitHub website. You can either browse the code or generate the Javadoc for the
Scribe classes using the following command:
pub.client.oauth:getExternalAccessToken
WmPublic. Gets the access and refresh tokens that the OAuth server generates for the Integration Server. This service can be used when Integration Server uses the OAuth authentication mechanism for services such as pub.client:smtp.
Input Parameters
grant_type |
String. Specify one of the following values:
|
token_endpoint | String. The URL of the endpoint that Integration Server must use to request an access token from the OAuth server. |
code |
String. Conditional. Get the
authorization_code manually
from the OAuth server. The procedure to get the
authorization_code varies
depending on your OAuth server. You must provide a value for this parameter
only when the
grant_type is
authorization_code .
|
client_id | String. The unique public identifier that the OAuth server generates for Integration Server during registration. |
client_secret | String. The unique string that the OAuth server provides to Integration Server during registration. It is only known to Integration Server and the OAuth server. |
scope | String. The e-mail server access permissions configured for Integration Server during registration. Multiple scopes can be specified by separating them with a space. |
redirect_uri |
String. The URL that the OAuth server must use to send
authentication responses to
Integration Server.
|
refresh_token |
String. Conditional. The refresh token issued by the
OAuth server. You can use this token to obtain new access tokens using the
refresh_token authorization
grant.
Note: An OAuth server issues refresh
tokens based on certain conditions, which vary across OAuth servers. For
example, Microsoft Azure issues refresh tokens only when the
scope
input parameter contains
offline_access .
|
Output Parameters
token_type |
String. The type of access token issued by the
authorization server. The value is
Bearer .
|
access_token | String. The access token issued by the authorization server. |
expires_in | String. The number of seconds for which the access token is valid. |
refresh_token |
String. Conditional. The refresh token issued by the
authorization server. You can use this token to obtain new access tokens using
the same authorization grant.
Note: An OAuth server issues refresh
tokens based on certain conditions, which vary across OAuth servers. For
example, Microsoft Azure issues refresh tokens only when the
scope
input parameter contains
offline_access .
|
scope | String. Set of scopes requested by Integration Server. |
pub.client:restClient
WmPublic. Creates and sends REST API requests over HTTP or HTTPS. Integration Server generates the REST connector services while creating a consumer REST API descriptor and calls this service while executing any REST connector service.
Input Parameters
path | String Relative path of the individual endpoints of the REST API. | ||
httpMethod |
String Specifies the HTTP method you want to use.
Valid values are:
|
||
body | Document Optional. Body of the REST API request. | ||
scheme |
String Transfer protocol that you want to use to send
the REST API request. Valid values are:
|
||
produces |
String Optional. MIME media type the REST operation
can produce and send back to the REST client. Valid values are:
|
||
consumes |
String Optional. MIME media type the REST operation
can consume or accept from the REST client. Valid values are:
|
||
basePath | String Optional. Base path on which the REST API is served, which is relative to the host. If base path is not included, the REST API is served directly under the host. The path must begin with a “/” (slash). | ||
auth | Document Optional. Authorization information that this service submits to the server. | ||
Key | Description | ||
type |
String Type of authentication scheme that you want
this service to use. Set to:
|
||
username |
String User name that this service will submit when
requesting a protected resource. Required only when
type is set to
Basic .
|
||
password |
String Password associated with
username. Required only when
type is set to
Basic .
|
||
token |
String The access token to submit to the OAuth
resource server. Required only when type is set to
OAUTH .
|
||
apiKey | String The alphanumeric key that this service uses to make the API calls. | ||
in |
String Specifies whether
Integration Server passes the API key in header or in query. For example,
in: header
or
in: query .
|
||
name | String Name of the API key. | ||
value | String Alphanumeric value of the API key. | ||
secure | Document Optional. Specifies the truststore information for certificate validation that Integration Server uses when communicating with the HTTPS server port. | ||
trustStoreAlias | String Alias for the truststore that contains the list of certificates that Integration Server uses to validate the trust relationship. If you do not specify a truststore alias, the default truststore alias is used. | ||
params | Document Optional. All path parameters must be added under this document as key value pairs. | ||
Key | Description | ||
path | Document. Optional. Path parameters of the REST API request. | ||
query | Document. Optional. Query parameters of the REST API request. | ||
form | Document. Optional. Form parameters of the REST API request. | ||
header | Document. Optional. Headers from the REST API request and responses. | ||
host | String Host serving the REST API. | ||
radName | String The namespace of the consumer REST API descriptor. |
Output Parameters
response | Object Optional. Body of the REST API response as a document or document list. |
code | String HTTP code of the REST API response. |
phrase | String HTTP message of the REST API response. |
pub.client.sftp:cd
WmPublic. Changes the working directory on the remote SFTP server.
Input Parameters
sessionKey | String Unique key for the current SFTP session. The sessionKey is returned by the pub.client.sftp:login service. |
path | String Absolute or relative path of the directory that you want as the working directory on the remote SFTP server. |
Output Parameters
returnCode | String Standard SFTP protocol return code. |
returnMsg | String Text message describing the return code. |
Usage Notes
You cannot execute SFTP commands in parallel using the same session key.
pub.client.sftp:chgrp
WmPublic. Changes the group ownership of one or more remote files.
Input Parameters
sessionKey | String Unique key for the current SFTP session. The sessionKey is returned by the pub.client.sftp:login service. |
groupId | String Numeric group identifier of the group to which you want to transfer ownership of the remote files. |
path | String Absolute or relative path of the remote files. |
Output Parameters
returnCode | String Standard SFTP protocol return code. |
returnMsg | String Text message describing the return code. |
Usage Notes
You cannot execute SFTP commands in parallel using the same session key.
pub.client.sftp:chmod
WmPublic. Changes permissions of one or more remote files.
Input Parameters
sessionKey | String Unique key for the current SFTP session. The sessionKey is returned by the pub.client.sftp:login service. | |
mode |
String The permission mode to apply to the remote file
(for example,
777 ).
|
|
path | String Absolute or relative path of the remote files. |
Output Parameters
returnCode | String Standard SFTP protocol return code. |
returnMsg | String Text message describing the return code. |
Usage Notes
You cannot execute SFTP commands in parallel using the same session key.
pub.client.sftp:chown
WmPublic. Changes the owning user of one or more remote files.
Input Parameters
sessionKey | String Unique key for the current SFTP session. The sessionKey is returned by the pub.client.sftp:login service. | |
uid | String Numeric user ID of the new owning user of the file. | |
path | String Absolute or relative path of the remote files. |
Output Parameters
returnCode | String Standard SFTP protocol return code. |
returnMsg | String Text message describing the return code. |
Usage Notes
You cannot execute SFTP commands in parallel using the same session key.
pub.client.sftp:get
WmPublic. Retrieves a file from a remote SFTP server and saves it on the local machine.
Input Parameters
sessionKey | String Unique key for the current SFTP session. The sessionKey is returned by the pub.client.sftp:login service. | |
remoteFile | String Absolute or relative path of the remote file. | |
localFile |
String Optional. Absolute or relative path of the
local file.
If localFile is not specified, the pub.client.sftp:get service returns the retrieved file in the output parameter contentStream (as a java.io.InputStream object). |
|
mode |
String Optional. Specifies how the retrieved file is
to be saved to the local file. Use this parameter only if you have specified a
value for
localFile. Set to:
|
Output Parameters
returnCode | String Standard SFTP protocol return code. |
returnMsg | String Text message describing the return code. |
contentStream |
Object Conditional. A java.io.InputStream object.
The pub.client.sftp:get service returns the retrieved file in the output parameter contentStream (as a java.io.InputStream object) if localFile is not specified. |
Usage Notes
You cannot execute SFTP commands in parallel using the same session key.
pub.client.sftp:login
WmPublic. Creates a secure connection to the SFTP server using the specified user alias or configuration parameters.
sessionKey
returned by this service is used by most other
pub.client.sftp services.
Input Parameters
userAlias |
String. Optional. Alias containing the SFTP client
configuration for an SFTP user account.
Integration Server creates a new session each time it logs in to the SFTP server and returns the session key to the user. This parameter is optional. Instead of using this parameter, you can pass the login credentials and the configuration parameters using the fields within the sftpConfigurationParameters document.Note: It is recommended to use
userAlias instead of the fields within the
sftpConfigurationParameters document because it is
resilient to changes in configuration, such as removal of algorithms or ciphers
in favor of stronger algorithms and ciphers.
If you provide inputs for both userAlias and SFTP configuration parameters, then userAlias takes precedence. |
|
reuseSession |
String. Optional. Flag indicating whether or not
Integration Server reuses a session that is already open for the specified
user alias. Set to:
|
|
sftpConfigurationParameters | Document. Optional. The following parameters are part of this document. | |
sftpClientVersion |
String. Indicates the
Integration Server SFTP client version, which can be
version1
(existing) or
version2
(new). Set to
version2 ,
if you want
Integration Server to use the newer SFTP client that has new configuration
properties, additional Key Exchange Algorithms, Machine Access Code (MAC)
algorithms, and ciphers.
|
|
serverHost | String. The IP address or the host name of the SFTP server. | |
serverPort | Integer. The SFTP server port number. The port number must be within the range of 0 and 65535 (inclusive). | |
hostKeyBytes |
Object. Optional. An array of bytes (byte[]). The host
key of the SFTP server. If this field is empty, then host key verification is
not strict:
Integration Server ignores the value of the
strictHostKeyChecking field and
trusts the host key received from the SFTP server while creating a connection.
Note: You can get the host key of the
SFTP server by using the
pub.client.sftp.admin:getHostKey
service.
|
|
userName | String. The user name for the SFTP user account. | |
authenticationType |
String. Type of authentication that
Integration Server uses to authenticate itself on the SFTP server. Set to:
|
|
password | String. Optional. Password of the specified SFTP user account. This is required if authenticationType is password. | |
privateKeyBytes | Object (an array of bytes (byte[])). Optional. If the authentication type is publicKey, then provide the private key of the specified SFTP user account. | |
passPhrase | String. Optional. It is required if you select publicKey as the authentication type and the private key that you specified requires a passphrase | |
minDHKeySize | Integer. Optional. The minimum DH key size. The default value is 1024. This field is not applicable if sftpClientVersion is version1. | |
maxDHKeySize | Integer. Optional. The maximum DH key size. The default value is 8192. This field is not applicable, if sftpClientVersion is version1. | |
preferredKeyExchangeAlgorithms |
String. Optional. A comma-separated list of preferred
key exchange algorithms. If not defined, then the default list of key exchange
algorithms (in the default order) is used.
Note: You can get the list of default
key exchange algorithms, MAC algorithms, and ciphers by using the
pub.client.sftp.admin:getDefaultAlgorithms
service.
|
|
preferredCiphersS2C | String. Optional. A comma-separated list of preferred server-to-client ciphers. If no value is provided, then the default list of server-to-client ciphers (in the default order) is used. | |
preferredCiphersC2S | String. Optional. A comma-separated list of preferred client-to-server ciphers. If a value is not provided, then the default list of client-to-server ciphers (in the default order) is used. | |
preferredMacC2S | String. Optional. A comma-separated list of preferred client-to-server Message Authentication Code (MAC) algorithms. If a value is not provided, then the default list of client-to-server MAC algorithms (in the default order) is used. | |
preferredMacS2C | String. Optional. A comma-separated list of preferred server-to-client Message Authentication Code (MAC) algorithms. If a value is not provided, then the default list of server-to-client MAC algorithms (in the default order) is used. | |
proxyAlias | String. Optional. The proxy alias through which the request should be routed. The proxy alias can be HTTP, HTTPS, or SOCKS. If a proxy alias is not specified, Integration Server makes outbound requests using each enabled proxy server alias until the request is sent successfully or all proxy servers are tried. | |
maximumRetries | Integer. Optional. The maximum number of times Integration Server tries to connect to the SFTP server, if login fails. The default value is 5. This field is applicable, if sftpClientVersion is version1. | |
connectionTimeout | Integer. Optional. The time (in seconds) that Integration Server waits for a response from the SFTP server before timing out and terminating the request. The default is 0, which indicates that the session never times out. | |
sessionTimeout | Integer. Optional. The number of minutes that Integration Server waits before terminating an idle session. The default is 30 minutes. | |
compression |
String. Optional. Determines whether data should be
compressed or not, to reduce the size of the data in transition.
Integration Server supports compression using the
zlib
compression algorithm. The allowed values for this field are
none
and
zlib.
Note: Use compression, only if the
SFTP server to which you connect supports compression.
|
|
compressionLevel | Integer. Optional. The compression level to use, if you select zlib in the compression field. The minimum allowed value is 1 (fast, minimum compression). The maximum allowed value is 6 (slow, maximum compression). The default value is 6. This field is not applicable if sftpClientVersion is version2. | |
strictHostKeyChecking |
String. Optional. Enables host key checking. The
default value is
Yes.
|
Output Parameters
sessionKey |
String. On successful login, this field contains the session key. |
returnCode |
String. The code returned for the login command. |
returnMsg | String. The message returned for the login command. |
Usage Notes
You cannot execute SFTP commands in parallel using the same session key.
If the
watt.client.sftp.session.logoutOnServiceCompletion
parameter is set to
true
, the FTP
session created by the
pub.client.sftp:login service
closes automatically when the invoking service completes execution. If the
value is set to
false
, then the
pub.client.sftp:logout service
must be invoked to close the FTP(S) session.
pub.client.sftp.admin:getDefaultAlgorithms
Gets the default list of algorithms supported by the Integration Server SFTP client. It returns the default values for the following parameters: keyExchangeAlgorithms, ciphersC2S, ciphersS2C, macC2S, and macS2C. The values are returned as a comma-separated list.
Input Parameters
sftpClientVersion |
String. Indicates the
Integration Server SFTP client version, which can be
version1 (existing) or
version2 (newer). Set to
version2 ,
if you want
Integration Server to use the newer SFTP client that has new configuration
properties, additional Key Exchange Algorithms, Machine Access Code (MAC)
algorithms, and ciphers.
|
Output Parameters
keyExchangeAlgorithms | String. A comma-separated list of supported Key Exchange Algorithms. |
ciphersC2S | String. A comma-separated list of supported client-to-server ciphers. |
ciphersS2C | String. A comma-separated list of supported server-to-client ciphers. |
macC2S | String. A comma-separated list of supported client-to-server Message Authentication Code (MAC) algorithms. |
macS2C | String. A comma-separated list of supported server-to-client Message Authentication Code (MAC) algorithms. |
pub.client.sftp.admin:getHostKey
WmPublic. Gets the host key of the SFTP server.
Input Parameters
sftpClientVersion |
String. Indicates the
Integration Server SFTP client version, which can be
version1 (existing) or
version2 (newer). Set to
version2 ,
if you want
Integration Server to use the newer SFTP client that has new configuration
properties, additional Key Exchange Algorithms, Machine Access Code (MAC)
algorithms, and ciphers.
|
|
serverHost | String. The IP address or the host name of the SFTP server. | |
serverPort | Integer. The SFTP server port number. The port number must be within the range of 0 and 65535 (inclusive). | |
preferredKeyExchangeAlgorithms |
String. Optional. A comma-separated list of preferred
key exchange algorithms. If not defined, then the default list of key exchange
algorithms (in the default order) is used.
Note: You can get the list of default
key exchange algorithms, MAC algorithms, and ciphers by using the
pub.client.sftp.admin:getDefaultAlgorithms
service.
|
|
preferredCiphersS2C | String. Optional. A comma-separated list of preferred server-to-client ciphers. If no value is provided, then the default list of server-to-client ciphers (in the default order) is used. | |
preferredCiphersC2S | String. Optional. A comma-separated list of preferred client-to-server ciphers. If a value is not provided, then the default list of client-to-server ciphers (in the default order) is used. | |
preferredMacC2S | String. Optional. A comma-separated list of preferred client-to-server Message Authentication Code (MAC) algorithms. If a value is not provided, then the default list of client-to-server MAC algorithms (in the default order) is used. | |
preferredMacS2C | String. Optional. A comma-separated list of preferred server-to-client Message Authentication Code (MAC) algorithms. If a value is not provided, then the default list of server-to-client MAC algorithms (in the default order) is used. | |
minDHKeySize | Integer. Optional. The minimum DH key size. The default value is 1024. This field is not applicable if sftpClientVersion is version1. | |
maxDHKeySize | Integer. Optional. The maximum DH key size. The default value is 8192. This field is not applicable, if sftpClientVersion is version1. | |
proxyAlias | String. Optional. The proxy alias through which the request should be routed. The proxy alias can be HTTP, HTTPS, or SOCKS. If a proxy alias is not specified, Integration Server makes outbound requests using each enabled proxy server alias until the request is sent successfully or all proxy servers are tried. |
Output Parameters
hostKeyBytes | Object. An array of bytes (byte[]). The host key in byte array format. |
fingerprint | String. Fingerprint of the host key. |
pub.client.sftp:logout
WmPublic. Logs off the user from the SFTP server and ends the current SFTP session.
Input Parameters
sessionKey | String Unique key for the current SFTP session. The sessionKey parameter is returned by the pub.client.sftp:login service. |
Output Parameters
returnCode | String Standard SFTP protocol return code. |
returnMsg | String Text message describing the return code. |
Usage Notes
You cannot execute SFTP commands in parallel using the same session key.
pub.client.sftp:ls
WmPublic. Retrieves the remote directory listing of the specified path. If path is not specified, the pub.client.sftp:ls service retrieves the file listing of the current remote directory. The pub.client.sftp:ls service also retrieves additional details such as permissions and ownership information.
Input Parameters
sessionKey | String Unique key for the current SFTP session. The sessionKey parameter is returned by the pub.client.sftp:login service. | |
path |
String Optional. Absolute
or relative path of the remote directory. If no path is specified, the
pub.client.sftp:ls
service retrieves the directory listing of the current remote directory. You can use the wildcard characters asterisk (*) and question mark (?) after the last slash mark (/) to view all remote directories or files that match the specified path. Note: SFTP client version 2 supports only the asterisk (*)
wildcard for filtering files. For example, *.xml , *.txt , and so on. However,
Java regular expressions are not supported.
|
Output Parameters
returnCode | String Standard SFTP protocol return code. | |
returnMsg | String Text message describing the return code. | |
dirList | Document List of directories matching the pattern specified in the path parameter. Following are the parameters in the document: | |
Key | Description | |
fileName | String Specifies the name of the remote file. | |
fileSize | String Specifies the size of the remote file. | |
permissions | String Specifies the access permission of the file (read, write, or execute). | |
lastAccessTime | String Specifies the time when the file was last accessed. | |
lastModifiedTime | String Specifies the time when the file was last modified. | |
uid | String Specifies the user ID of the file owner. | |
gid | String Specifies the group id associated with the file. | |
longName |
String Specifies the long name of the
ls entry.
It contains all the parameters space separated.
|
Usage Notes
You cannot execute SFTP commands in parallel using the same session key.
The date format for SFTP client services is determined by the watt.server.sftp.dateStampFmt property.
pub.client.sftp:mkdir
WmPublic. Creates a new remote directory.
Input Parameters
sessionKey | String Unique key for the current SFTP session. The sessionKey parameter is returned by the pub.client.sftp:login service. |
path | String Absolute or relative path of the remote directory where you want to create a new directory. |
Output Parameters
returnCode | String Standard SFTP protocol return code. |
returnMsg | String Text message describing the return code. |
Usage Notes
You cannot execute SFTP commands in parallel using the same session key.
pub.client.sftp:put
WmPublic. Transfers a file to a remote SFTP server.
Input Parameters
sessionKey | String Unique key for the current SFTP session. The sessionKey is returned by the pub.client.sftp:login service. |
contentStream | java.io.InputStream Optional. Data to be transferred to the remote file. |
localFile | String Optional. Name of the local file to be appended to the remote file. Use localFile only if contentStream is not specified. |
remoteFile | String Optional. Absolute or relative path of the remote file to which the local file is to be appended. |
mode |
String Optional. Specifies how the local file is to be
transferred to the remote SFTP server. Set to:
|
Output Parameters
returnCode | String Standard SFTP protocol return code. |
returnMsg | String Text message describing the return code. |
Usage Notes
If you specify contentStream, you must specify remoteFile. In this case, localFile is optional.
If you specify localFile, then remoteFile and contentStream are optional. In this case, the remote file will be given the same name as the local file.
You cannot execute SFTP commands in parallel using the same session key.
pub.client.sftp:pwd
WmPublic. Displays the remote working directory in the SFTP server.
Input Parameters
sessionKey | String Unique key for the current SFTP session. The sessionKey is returned by the pub.client.sftp:login service. |
Output Parameters
returnCode | String Standard SFTP protocol return code. |
returnMsg | String Text message describing the return code. |
path | String Absolute or relative path of the working directory on the remote SFTP server. |
Usage Notes
You cannot execute SFTP commands in parallel using the same session key.
pub.client.sftp:rename
WmPublic. Renames a file or directory on a remote SFTP server.
Input Parameters
sessionKey | String Unique key for the current SFTP session. The sessionKey is returned by the pub.client.sftp:login service. |
oldPath |
String Fully qualified name of the file you want to
rename (for example,
temp/oldname.txt ).
|
newPath |
String New fully qualified name for the file (for
example,
temp/newname.txt ).
|
Output Parameters
returnCode | String Standard SFTP protocol return code. |
returnMsg | String Text message describing the return code. |
Usage Notes
You cannot execute SFTP commands in parallel using the same session key.
pub.client.sftp:rm
WmPublic. Deletes one or more remote files on the SFTP server.
Input Parameters
sessionKey | String Unique key for the current SFTP session. The sessionKey is returned by the pub.client.sftp:login service. |
path | String Absolute or relative path of the file you want to delete. |
Output Parameters
returnCode | String Standard SFTP protocol return code. |
returnMsg | String Text message describing the return code. |
Usage Notes
You cannot execute SFTP commands in parallel using the same session key.
pub.client.sftp:rmdir
WmPublic. Deletes one or more remote directories on the SFTP server.
Input Parameters
sessionKey | String Unique key for the current SFTP session. The sessionKey is returned by the pub.client.sftp:login service. |
path | String Absolute or relative path of the directory you want to delete. |
Output Parameters
returnCode | String Standard SFTP protocol return code. |
returnMsg | String Text message describing the return code. |
Usage Notes
The remote directories that you want to delete must be empty.
You cannot execute SFTP commands in parallel using the same session key.
pub.client.sftp:symlink
WmPublic. Creates a symbolic link between the old path and the new path of a file.
Input Parameters
sessionKey | String Unique key for the current SFTP session. The sessionKey is returned by the pub.client.sftp:login service. |
oldPath | String Old path of the file for which you want to create a symbolic link. |
newPath | String New path of the file to which the symbolic link should point. |
Output Parameters
returnCode | String Standard SFTP protocol return code. |
returnMsg | String Text message describing the return code. |
Usage Notes
You cannot execute SFTP commands in parallel using the same session key.
pub.client:smtp
WmPublic. Sends a MIME-type e-mail message.
You may attach one or more content objects or files to the message.
Input Parameters
to | String Optional. E-mail address of the receiver. If you specify multiple addresses, separate them with commas. | |
cc | String Optional. E-mail addresses of additional receivers. If you specify multiple addresses, separate them with commas. | |
bcc | String Optional. E-mail addresses of additional receivers. If you specify multiple addresses, separate them with commas. | |
subject | String Optional. Subject of the message. | |
subjectCharset |
String Optional. The character set used to encode the
MIME message headers (including subject). If
subjectCharset is not
specified, then
charset is used. If
charset is not specified, the
value in the server configuration parameter watt.server.email.charset is used.
If that parameter is not set, the
utf-8
encoding is used.
|
|
charset |
String Optional. The character encoding of the body
text. If you do not specify the value of
charset, the value in the
server configuration parameter watt.server.email.charset is used. If that
parameter is not set, the
utf-8
encoding is used.
|
|
from |
String Optional. E-mail address of the sender. If you
do not specify a
from value,
Integration Server uses the value specified for the
mail.smtp.from JVM property. If no
value is specified for that property,
Integration Server uses the default value,
user@servername, where
user is the operating system
user ID, and
servername is the host name of
the
Integration Server.
|
|
mailhost |
String SMTP host name for outbound messages. For
example:
smtp.webMethods.com
If no value is provided for the mailhost parameter, Integration Server uses the value of the Java system property mail.smtp.host set for Integration Server as the mailhost value. For more information about setting Java system properties for Integration Server, which includes modifying the custom_wrapper.conf file, see Changing Settings in the Configuration File custom_wrapper.conf. If no value is supplied for the mailhost parameter and the mail.smtp.host Java system property is not set, the pub.client:smtp service ends with an exception. |
|
mailhostPort | String Optional. The number of the port on which the SMTP host listens. This parameter does not need to be set if the host listens on port 25 (the standard SMTP port). | |
auth | Document Optional. Authorization information that the SMTP service will submit. | |
Key | Description | |
type |
String. Specifies how you want to authenticate the
user on the specified e-mail server.
|
|
user | String. The username that this service submits when requesting a protected resource. | |
pass |
String. Conditional. Password associated with
user. This parameter is
required only when
auth is
Basic .
|
|
token |
String. Conditional. The access token issued by the
OAuth server to
Integration Server. This parameter is required only when
auth is
Bearer . To
get the access token, see
pub.client.oauth:getExternalAccessToken
|
|
secure | Document Optional. Parameters specifying the security protocol and truststore information for certificate validation that Integration Server uses when communicating with the SMTP server port. | |
Key | Description | |
transportLayerSecurity |
String Type of security protocol
Integration Server uses when communicating with the SMTP server port. Set
to:
|
|
truststoreAlias | String Optional. Alias for the truststore that contains the list of certificates that Integration Server uses to validate the trust relationship.If you do not specify a truststore alias, the default truststore alias will be used. | |
body | String Optional. The content of the message. | |
mimeStream | java.io.InputStream Optional. MIME or S/MIME message that you want to send in the e-mail. A mimeStream is created by the pub.mime:getEnvelopeStream, pub.smime:createEncryptedData, pub.smime:createSignedData, or pub.smime.keystore:createSignedData services. It contains both headers and content. If the mimeStream already contains the from, to, and subject headers, you do not need to pass them as individual inputs to this service. | |
attachments | Document List Optional. Attachments to the message. Each attachment defines one message part in a multi-part message. | |
Key | Description | |
contenttype |
String MIME type of the message. For example:
|
|
content | byte[ ], String, or java.io.InputStream Content of the message. | |
filename |
String Name to assign to the attachment. If you do not
specify
attachment/content, the
parameter specifies the file name of a local file to attach to the message. In
other words:
|
|
encoding |
String Optional. Encoding of the message. For example:
base64 or
7bit . If
encoding is not specified, 7bit
is used.
|
|
charset |
String Optional. Character set encoding of the
attachment. This value is added to the Content-Type header for the attachment.
If
charset is not specified, the
value in the server configuration parameter watt.server.email.charset is used.
If that parameter is not set, the
utf-8
encoding is used.
|
|
properties | Document List Optional. SMTP system properties to send to the SMTP server. This parameter overrides the settings on the watt.config.systemProperties server configuration parameter. If you omit this properties parameter, Integration Server uses the settings specified on the watt.config.systemProperties server configuration parameter. | |
Key | Description | |
name | Name of the SMTP system property. | |
value | Value to specify for the SMTP property. |
Output Parameters
status | String Final status of service. |
Usage Notes
Any one of the recipient fields, that is the to, cc, or the bcc parameter, must be defined.
If you are using filename to attach a file to the message and the file is not a plain text file, you must set the contenttype and encoding. For example, to attach IntegrationServer_directory\instances\instance_name\mydir\myfile.doc to a pub.client:smtp service, you would invoke the service with the following values in attachments:
contenttype:application/msword
filename:instances/instance_name/mydir/myfile.doc
encoding:base64
Prior to Integration Server version 10.15, the pub.client:smtp service included the useJSSE input parameter which specified whether Integration Server created the outbound connection using the Java Secure Socket Extension (JSSE) library. Beginning with Integration Serverversion 10.15, Integration Server establishes all secure outbound connections with JSSE. If you migrated to Integration Server 10.15 and a migrated service invokes pub.client:smtp, the useJSSE parameter still appears in the pipeline. However, Integration Server ignores the value of the useJSSE parameter , proceeding as if useJSSE were set to yes.
pub.client:soapClient
WmPublic. Creates and sends SOAP 1.1 and SOAP 1.2 messages over HTTP, HTTPS, or JMS transports for any style/use combination supported by Integration Server.
Input Parameters
address |
String String specifying the URI of the web service
endpoint. If you are submitting the request to an
Integration Server, remember to direct it to the default SOAP processor (ws)
as shown in the following example:
|
||
request | Document The input parameters that are to be passed to the web service. | ||
wsdName | String The name of the consumer web service descriptor that contains the operation you want to invoke. | ||
wsdBinderName |
String The name of a binder that contains information
to use to create and send the request. This binder must be in the consumer web
service descriptor specified in
wsdName.
Note: The consumer web service
endpoint alias assigned to a binder indicates which proxy server
Integration Server uses to send the request. For more information about
proxy server usage and web service endpoint aliases, see
Creating an Endpoint Alias for a Provider Web Service Descriptor for Use with HTTP/S.
|
||
wsdOperationName | String The name of the operation that you want to invoke. This operation must be contained in the binder specified in wsdBinderName. | ||
targetInputSignature | String Fully qualified name of the IS document type to use to validate and encode the contents of request. | ||
targetOutputSignature | String Fully qualified name of the IS document type to use to validate and decode the output value returned by the web service. | ||
soapHeaders | Document Optional. Header documents included in the SOAP request as SOAP headers. | ||
transportHeaders |
Document Optional. Transport header fields that you
want to explicitly set in the request issued by the
pub.client:soapClient service.
Specify a key in transportHeaders for each header field that you want to set, where the key's name represents the name of the header field and the key's value represents the value of that header field. The names and values supplied to transportHeaders must be of type String. If a transport header has a name or value that is not of type String, the header will not be included in the message. The headers that you pass in to transportHeaders vary depending on the transport used to send the SOAP message. The supplied wsdBinderName determines the transport. For more information about specifying transportHeaders, refer to the Usage Notes. |
||
method | Document Optional. The QName of the requested procedure. The name is defined as follows: | ||
Key | Value | ||
namespaceName | String Namespace portion of the procedure's QName. | ||
localName | String Local portion of the procedure's QName. | ||
Note: The
method parameter applies when
style is RPC.
|
|||
auth |
Document Optional. Parameters specifying the
credentials that are to be submitted to the server specified in
address.
Integration Server allows two levels of authorization credentials: transport level and message level. Each element is defined as follows: |
||
Key | Description | ||
transport | Document Optional. Transport level authorization parameters. | ||
Key | Description | ||
type |
String Optional. Type of authentication that the
service will perform. Set to:
|
||
user |
String Optional. User name that this service will use
if one is requested.
Note: If you have specified
NTLM as
type, you must specify
user in the following format:
domain_name\user_name |
||
pass | String Optional. Password that this service will submit if one is requested. | ||
serverCerts |
Document Optional. The message signer's private key
and certificate chain.
privateKey Object The SOAP message signer's private key. certChain Object List A list containing the signer's complete certificate chain, where element 0 in the list contains the signer's certificate and element 1 contains the CA's certificate. |
||
message | Document Optional. Message level authorization parameters. | ||
Key | Description | ||
user | String Optional. User name that this service will use if one is requested. | ||
pass | String Optional. Password that this service will submit if one is requested. | ||
serverCerts |
Document Optional. The message signer's private key
and certificate chain.
privateKey Object The SOAP message signer's private key. certChain Object List A list containing the signer's complete certificate chain, where element 0 in the list contains the signer's certificate and element 1 contains the CA's certificate. |
||
partnerCert | Object Optional. The partner's complete certificate chain, where element 0 in the list contains the message signer's certificate and element 1 contains the CA's certificate. | ||
timeout |
String Optional. Time (measured in milliseconds) to
wait for a response from the server hosting the web service before timing out
and terminating the request.
A value of 0 means Integration Server waits for a response indefinitely. If the connection to the host or JMS provider ends before Integration Server receives a response, the service ends with an exception and a status code of 408. If this parameter is not specified, or an invalid (non-numeric) value is specified, Integration Server uses one of the following values:
For more information about watt.server.SOAP.request.timeout and watt.server.soapjms.request.timeout server configuration parameter, see webMethods Integration Server Administrator’s Guide.
Integration Server ignores timeout if the name/value pair
|
||
soapAction |
String Optional. Specifies one of the following:
Integration Server ignores soapAction in either of the following situations:
|
||
soapProtocol |
String Optional. Indicates the SOAP protocol the
service uses to send messages. Valid values are
SOAP 1.1
Protocol or
SOAP 1.2
Protocol .
|
||
encoding |
String Optional. Specifies the encoding method.
Default value is
UTF-8 .
Integration Server ignores
encoding if the
|
Output Parameters
soapResponseData | Object A SOAP object containing the SOAP response message returned by the server specified in address. | |
response | Document Output parameters returned from the web service. | |
header |
Document Conditional. Headers from the response and
request messages.
header contains the following keys: |
|
Key | Value | |
requestLines |
Document Conditional. Header fields from the request
message. Each key in
requestLines represents a line
(field) in the request header. Key names represent the names of header fields.
The keys' values are Strings containing the values of the fields.
The contents of the requestLines document are not identical to transportHeaders. The transport can add, remove, or alter specific headers while processing the request. Whether or not the web service connector returns the requestLines parameter depends on the success or failure of the pub.client:soapClient service. In the case of failure, the point at which the failure occurs determines the presence of the requestLines parameter. For more information, see the usage notes for this service. |
|
For the HTTP or HTTPS transports, the requestLines parameter will not contain any HTTP headers that the transport mechanism added or modified when sending the request. For the JMS transport, each key in requestLines represents a JMS message header. Key names represent the names of header fields. Key values are Strings containing the values of the header fields. The JMS provider populates some JMS message header fields after it successfully receives the JMS message. Additionally, the Integration Server specific run-time properties (properties that begin with the “jms.” prefix) are not returned in JMS transport, each key in requestLines. The JMS provider uses the information in these properties to populate the JMS message header fields that correspond to the properties. |
||
lines |
Document Header fields from the response. Each key in
lines represents a field (line)
of the response header. Key names represent the names of header fields. The
keys' values are Strings containing the values of the fields.
Whether or not the pub.client:soapClient service returns the lines parameter depends on the success or failure of the service. In the case of failure, the point at which the failure occurs determines the presence of the lines parameter. For more information, see the usage notes for this service. For the HTTP or HTTPS transports, the lines parameter contains any HTTP/HTTPS headers present in the response. For the JMS transport, the lines parameter contains the JMS headers present in the response. |
|
status | String Status code from the request, returned by the underlying transport. response. For more information about status codes returned by the service, see the usage notes for this service. | |
statusMessage | String Status message returned by the transport. For more information about status messages returned by the service, see the usage notes for this service. | |
soapStatus | String Flag indicating whether the SOAP request message was processed successfully. | |
A value of... | Indicates that... | |
0
|
The remote server successfully processed the SOAP request and returned a SOAP response message. | |
1
|
The remote server returned a SOAP fault, indicating that the SOAP request was received but was not processed successfully. | |
2
|
The server returned an error that was not a SOAP fault. This indicates that some type of HTTP error occurred (often, an HTTP 404). You can check the status field in header to determine the type of HTTP error that occurred. |
Usage Notes
If the
address
begins with
https:
, you must
specify a private key and certificate chain. You can use the
auth/transport/serverCerts
parameters to do so. If you do not specify them using the
auth/transport/serverCerts
parameters,
pub.client:soapClient uses the
web service endpoint alias specified in the binder. If the endpoint alias does
not have an associated private key and certificate chain, then the default
outbound SSL certificate settings are used to authenticate the resources.
As part of executing pub.client:soapClient, Integration Server executes any service handlers assigned to the consumer web service descriptor specified in wsdName.
When a document type contains a String variable
that represents a required attribute (meaning that the variable name starts
with the "@" symbol and the
Required
property is set to
True in
Designer) and the input document does not contain the required
attribute,
Integration Server adds an empty attribute during document encoding. For
example, if the document type contains a required String variable named
@myAttribute but
@myAttribute is missing from
the input document,
Integration Server adds
myAttribute =""
to
the XML document.
xmlns=""
to the
XML document.
Keep the following points in mind when specifying transportHeaders for HTTP or HTTPS:
- For any header name/value pair supplied in transportHeaders, Integration Server simply passes through the supplied headers and does not perform any validation for the headers.
-
If you do not set transportHeaders or do not specify the following header fields in transportHeaders, Integration Server adds and specifies values for the following header fields:
-
Accept
-
Authorization
-
Connection
-
Content-Type
-
Host
-
SOAPAction
(Added when soapProtocol is SOAP 1.1 only) -
User-Agent
Important: Pass in the preceding headers to transportHeaders only if you are an experienced web service developer. Incorrect header values can result in failure of the HTTP request.
-
- If
you specify
Content-Type
in transportHeaders, Integration Server ignores the value of the encoding input parameter. - If
you specify
Content-Type
in transportHeaders and the soapProtocol input parameter is set toSOAP 1.2
, Integration Server ignores the value of the soapAction input parameter. - If
you specify the
SOAPAction
header in transportHeaders and the soapProtocol input parameter is set toSOAP 1.1 Protocol
, Integration Server ignores the value of the soapAction input parameter. - If
MTOM processing converts any portion of the SOAP request to an MTOM/XOP
attachment, it will overwrite the
Content-Type
value supplied to the transportHeaders input. -
Integration Server sets the value of
Content-Length
automatically and overrides any value passed in to transportHeaders. -
Integration Server automatically adds the
Cookie
header to the HTTP header and supplies any cookies established between Integration Server and the HTTP server with which it is interacting. If you supply theCookie
header to transportHeaders, Integration Server prepends the values you supply to the already establishedCookie
header value. - The following headers are considered to be standard and
require the specified capitalization:
Accept
,Authorization
,Connection
,Content-Type
,Cookie
,Host
,SOAPAction
,User-Agent
. - Using capitalization other than that which is specified results in undefined behavior.
- Supplying duplicate entries for any standard header results in undefined behavior.
Keep the following points in mind when specifying transportHeaders for JMS:
- Specify a key in transportHeaders for each header field that you want to set, where the key’s name represents the name of the header field and the key’s value represents the value of that header field.
- You can specify the following JMS message header fields in
transportHeaders:
- JMSCorrelationID
- JMSType
Note: The JMSCorrelationID and JMSType names are case-sensitive. - You can specify the following JMS-defined properties in
transportHeaders:
- JMSXGroupID
- JMSXGroupSeq
If the value of JMSXGroupSeq is not an integer, Integration Server ignores the name/value pair and does not place it in the message header.
Note: The JMSXGroupID and JMSXGroupSeq names are case-sensitive.
- The “JMSX” prefix is reserved for JMS-defined properties. If a header whose name starts with “JMSX” is passed into transportHeaders and it is not named JMSXGroupID or JMSXGroupSeq, Integration Server generates a fault and returns it to the service.
- You can set any provider-specific property whose name
starts with “JMS_” in
transportHeaders.
Integration Server maps a supplied name/value pair whose name starts with
“JMS_” directly to a JMS message property. Because the JMS standard reserves
the prefix “JMS_<vendor_name>” for provider-specific properties,
Integration Server does not validate the name or value of this content.
Note: The JMS provider determines which provider-specific properties to accept and include in the JMS message properties. For more information about provider-specific message properties how the JMS provider handles them, review the JMS provider documentation.
- You can use
transportHeaders to specify
run-time properties that affect the values of the JMS message and JMS message
headers. The following table identifies these properties and indicates the JMS
message header fields affected by each property.
Property Name Description jms.async
Indicates whether this is a synchronous or asynchronous request/reply. This run-time property does not affect a JMS message header field. Note: This property applies when pub.client:soapClient calls an operation with an In-Out message exchange pattern onlyValue Description true
Indicates this is an asynchronous request/reply. Integration Server does not wait for a response message before executing the next step in the flow service. If
jms.async
is true, Integration Server ignores the timeout input parameter.false
Default. Indicates this is a synchronous request/reply. Integration Server waits for a response before executing the next step in the flow service. jms.deliveryMode
Specifies the message delivery mode for the message. Integration Server uses this value to set the JMSDeliveryMode header. Value Description PERSISTENT
Indicates the request message is persistent. 2
Default. Indicates the request message is persistent. NON_PERSISTENT
Indicates the request message is not persistent. 1
Indicates the request message is not persistent. Note: If thejms.deliveryMode
is not one of the above values, Integration Server ignores the name/value pair and uses the default value of 2.jms.messageType
Message type identifier for the message. Integration Serveruses this value to set the JMSType header. Specify one of the following:- BytesMessage
- TextMessage
Note: If thejms.messageType
value is not BytesMessage or TextMessage, Integration Server ignores the name/value pair and uses the default value of BytesMessagejms.timeToLive
Length of time, in milliseconds, that the JMS provider retains the message. A value of 0 means that the message does not expire. The JMS provider uses this value to set the JMSExpiration header in the sent JMS message.
Note: If thejms.timeToLive
value is not a valid Long, Integration Server ignores the property and uses the default value of 0.jms.priority
Specifies the message priority. The JMS standard defines priority levels from 0 to 9, with 0 as the lowest priority and 9 as the highest. Integration Server uses this value to set the JMSPriority header.
If the jms.priority value is not a value between 0 to 9, Integration Server ignores the property and uses the default value of 4.
- The lowercase “jms.” prefix is reserved for run-time properties used by Integration Server. If a header starts with “jms.”and is not one of the “jms.” properties defined by Integration Server, Integration Server ignores the property.
The header information returned when pub.client:soapClient executes an operation in a web service descriptor created on Integration Server version 8.2 or later varies depending on the following:
- The transport used to send the SOAP message which is determined by the wsdBinderName
- The success or failure of the pub.client:soapClient service and if failure occurs, the point at which that happens
- The message exchange pattern for the operation specified in wsdOperationName
The following table identifies the basic success and failure scenarios when pub.client:soapClient service executes an operation in a web service descriptor created on Integration Server version 8.2 or later and the header information that would be returned in each scenario. The table also indicates whether the scenario results in a SOAP response, SOAP fault, or exception being returned in soapResponseData.
Use Case | |
The pub.client:soapClient service fails before sending the SOAP request. | |
Parameter | Description |
status | 900 |
statusMessage | Error occurred while preparing SOAP request |
requestLines returned? | Yes, if the web service connector created the SOAP request successfully but execution failed before sending the request. |
lines returned? | No |
soapResponseData | Contains an exception. |
Use Case | |
The pub.client:soapClient service fails while sending the SOAP request. | |
Parameter | Description |
status | For HTTP, the
status code will be the value returned by the HTTP server.
For JMS, the status code will be 400. |
statusMessage | For HTTP, the
status message will be the message returned by the HTTP server.
For JMS, the status message will be: Error occurred while sending request to JMS provider. |
requestLines returned? | Yes |
lines returned? | For HTTP,
lines may be returned. For
example, when the provider returns a status code in the 300 range or 400 range,
it is possible that the provider populated response headers.
For JMS, lines will not be returned. |
soapResponseData | Contains an exception. |
Use Case | |
The pub.client:soapClient service fails while sending the SOAP request because a timeout occurs. | |
Parameter | Description |
status | 408 |
statusMessage | Timeout |
requestLines returned? | Yes |
lines returned? | No |
soapResponseData | Contains an exception. |
Use Case | |
The pub.client:soapClient service executes successfully. | |
Parameter | Description |
status | For HTTP, the
status code will be the value returned by the HTTP server. The status code will
typically be in the 200 range.
For JMS and an In-Out or Robust In-Only operation, the status code will be 200. For JMS and an In-Only operation, the status code will be 202. |
statusMessage | For HTTP, the
status message will be the message returned by the HTTP server.
For JMS, the status message will be: OK |
requestLines returned? | Yes |
lines returned? | Depends on the
message exchange pattern (MEP) of the operation.
For In-Only and Robust In-Only, lines is not returned. For In-Out, lines is returned. |
soapResponseData | Contains the SOAP response for In-Out MEP only. |
Use Case | |
The
pub.client:soapClient service
executes successfully but the JMS provider is not available, causing
Integration Server to write the JMS message to the client side queue.
Note: This use case applies to JMS
only. It occurs only when the client side queue is enabled for the JMS binder
specified in
wsdBinderName.
|
|
Parameter | Description |
status | 300 |
statusMessage | Message written to the client side queue. |
requestLines returned? | Yes |
lines returned? | No. |
soapResponseData | Not returned. |
Use Case | |
The pub.client:soapClient service sends the SOAP request successfully but receives a SOAP fault from the web service provider. | |
Parameter | Description |
status | For HTTP, the
status code will be the value returned by the HTTP server. The status code will
typically be in the 500 range.
For JMS, the status code will be 500. |
statusMessage | For HTTP, the
status message will be the message returned by the HTTP server.
For JMS, the status message will be: SOAP Fault |
requestLines returned? | Yes |
lines returned? | No |
soapResponseData | Contains an SOAP fault. |
Use Case | |
The pub.client:soapClient service fails while processing the SOAP response. | |
Parameter | Description |
status | 900 |
statusMessage | Error occurred while processing SOAP request |
requestLines returned? | Yes |
lines returned? | Yes |
soapResponseData | Contains an exception. |
When invoking pub.client:soapClient to execute an In-Out operation asynchronously using SOAP over JMS, keep the following information in mind:
- For an asynchronous request/reply, you must pass
jms.async= true
into the transportHeaders input parameter. - To instruct Integration Server to write the request message for an asynchronous request/reply to the client side queue when the JMS provider is not available, the JMS binder must be configured to use the client side queue. Specifically, in the consumer web service descriptor, the Use CSQ property for the JMS binder must be set to true.
- When pub.client:soapClient sends an asynchronous request it executes to completion without populating any response headers for the lines output parameter.
- Even though pub.client:soapClient does not wait for a SOAP response, it will execute the response handlers assigned to the consumer web service descriptor. However, the messageContext that is available to handler services will not contain a response message. Handler services that do not operate on the response message and instead perform activities such as clean up following a request handler invocation might still provide value for an asynchronous request/reply.
- If
you want to retrieve the SOAP response from the provider, you need to receive
and process the response with a custom solution. This might include using
standard JMS trigger or an on-demand message consumer to receive the message
and then using the
pub.soap* services to process
the SOAP message.
Note: Using a JMS trigger or message consumer to receive the response bypasses any response handlers or policies applied to the SOAP response, including any WS‑SecurityPolicy. The SOAP response does not undergo any processing provided by the response handlers or policies attached to the consumer web service descriptor. Any response messages that require decryption or authentication will not be usable. Consequently, do not use an asynchronous request/reply to invoke an In-Out operation to which the WS-SecurityPolicy is applied.
When using pub.client:soapClient to execute a Robust In-only operation using SOAP over JMS, keep the following information in mind:
- For a consumer web service descriptor,
Integration Server provides partial support for Robust In-Only operations
with a SOAP over JMS binding. When
Integration Server creates a consumer web service descriptor from a WSDL
that contains a Robust In-Only operation and that operation is defined as part
of a portType with a SOAP over JMS binding,
Integration Server populates the reply destination in the JMS message header
(the JMSReplyTo header field) but otherwise treats the operation as In-Only.
Specifically, pub.client:soapClient will not produce or wait for any output besides the transportInfo parameter. If an exception occurs while the provider processes the request, the web service connector does not retrieve or process the SOAP response.
- If
you want to retrieve a SOAP response (which includes the SOAP fault) that the
provider sends when an exception occurs during web service execution, you need
to receive and process the response with a custom solution. This might include
using a standard JMS trigger or an on-demand message consumer to receive the
message and using the
pub.soap* services to process
the SOAP message.
Note: Using a JMS trigger or message consumer to receive the response bypasses any policies applied to the SOAP response and any response handlers assigned to the consumer web service descriptor. The SOAP response does not undergo any processing provided by the response handlers or policies attached to the consumer web service descriptor. Any response messages that require decryption or authentication will not be usable. Consequently, do not use an asynchronous request/reply to invoke an In-Out operation to which the WS-SecurityPolicy is applied.
If the Docker image for a Microservices Runtime excludes the web services functionality, then the Docker image for the Microservices Runtime running in the Docker container cannot execute the pub.client:soapClient service. Attempts to execute pub.client:soapClient fail with a ServiceException.
Prior to Integration Server version 10.15, the pub.client:soapClient service included the useJSSE input parameter which specified whether Integration Server created the outbound connection using the Java Secure Socket Extension (JSSE) library. Beginning with Integration Serverversion 10.15, Integration Server establishes all secure outbound connections with JSSE. If you migrated to Integration Server 10.15 and a migrated service invokes pub.client:soapClient, the useJSSE parameter still appears in the pipeline. However, Integration Server ignores the value of the useJSSE parameter , proceeding as if useJSSE were set to yes.
See Also
pub.client:soapHTTP
WmPublic. Deprecated - There is no replacement service.
Submits a SOAP message to a server via HTTP or HTTPS.
Input Parameters
soapRequestData | Object SOAP message that is to be sent. This object must be produced with the services in the soap folder. See the Usage Notes for more information. | |
address |
String URL to which you want the SOAP message sent.
For example:
|
|
auth | Document Optional. Parameters specifying the credentials that are to be submitted to the server specified in address. Each element is defined as follows: | |
Key | Description | |
type | String Type of authentication that the service will perform. Leave this field blank, as the only option currently available is basic HTTP authentication. | |
user | String User name that this service will use if one is requested. | |
pass | String Password that this service will submit if one is requested. | |
validateSOAP |
String Optional. Indicates whether or not the response
message is to be validated against the SOAP schema. Set to:
|
|
SOAPAction | String Optional. Value to which you want to set the SOAPAction HTTP header. | |
contentType |
String Optional. Specifies the value of Content-Type
in the HTTP header. Set to:
|
|
loadAs |
String Optional. Specifies the format of the
soapResponseData. Default value is stream for an HTTP service and
byteArrayStream for an HTTPS service. Set to:
|
|
timeout | String Optional. Time (measured in milliseconds) to wait for a response from the remote server before timing out and terminating the request. The default value is to wait forever. | |
encoding |
String Default character set for encoding SOAP
message. Specify an IANA-registered character set (for example, ISO-8859-1).
The default is UTF-8.
The encoding parameter is used to override the encoding determined by the watt.server.netEncoding server configuration parameter. For more information about watt.server.netEncoding, see webMethods Integration Server Administrator’s Guide . |
Output Parameters
soapResponseData | Object The SOAP response message returned by the server specified in address. | |
header | Document Conditional. Headers from the HTTP response. Will contain the following keys: | |
Key | Description | |
lines | Document Header fields from the HTTP response. Each key in lines represents a field (line) of the response header. Key names represent the names of header fields. The keys' values are Strings containing the values of the fields. | |
status | String Status code from the HTTP response. | |
statusMessage | String Status message from the HTTP response. | |
soapStatus | String Flag indicating whether the SOAP request message was processed successfully. | |
A value of... | Indicates that... | |
0
|
The remote server successfully processed the SOAP request and returned a SOAP response message. | |
1
|
The remote server returned a SOAP fault, indicating that the SOAP request was received but was not processed successfully. | |
2
|
The server returned an error that was not a SOAP fault. This indicates that some type of HTTP error occurred (often, an HTTP 404). You can check the status element in header to determine the type of HTTP error that occurred. |
Usage Notes
This pub.client:soapHTTP service is deprecated. There is not a replacement service.
If
address
begins with
https:
, you can
use
pub.security.keystore:setKeyAndChain to specify the certificate chain. If you do not
specify a certificate chain,
pub.client:soapHTTP uses the
default outbound SSL certificate settings to authenticate the resources.
To send a SOAP message with this service, you must first generate an empty SOAP object with the pub.soap.utils:createSoapData service and then populate it using services such as pub.soap.utils:addHeaderEntry and pub.soap.utils:addBodyEntry.
If the Docker image for a Microservices Runtime excludes the web services functionality, then the Docker image for the Microservices Runtime running in the Docker container cannot execute the pub.client:soapHTTPservice. Attempts to execute pub.client:soapHTTP result in a ServiceException.
See Also
pub.client:soapRPC
WmPublic. Deprecated - There is no replacement service.
Submits a SOAP remote procedure call via HTTP or HTTPS.
Input Parameters
address |
String String specifying the numeric address or name
of the server on which the remote procedure resides. If you are submitting the
request to an
Integration Server, remember to direct it to the RPC processor as shown in
the following example:
|
|
reqParms |
Document The input parameters that are to be passed to
the remote procedure. For example, if you wanted to pass three String
parameters,
acct,
amt, and
org, containing the values
Cash ,
150.00 ,
and
Sales ,
reqParms would contain the
following:
|
|
Key | Value | |
acct |
Cash
|
|
amt |
150.00
|
|
org |
Sales
|
|
method | Document The QName of the requested procedure where: | |
Key | Value | |
namespaceName | String Namespace portion of the procedure's QName. | |
localName | String Local portion of the procedure's QName. | |
auth | Document Optional. User name and password that are to be submitted to the server specified in address. | |
Key | Value | |
type | String Type of authentication that the service will perform. Leave this field blank, as the only option currently available is basic HTTP authentication. | |
user | String User name that this service will use if one is requested. | |
pass | String Password that this service will submit if one is requested. | |
targetInputSignature | String Optional. Fully qualified name of the IS document type to use to validate and encode the contents of reqParms. | |
targetOutputSignature | String Optional. Fully qualified name of the IS document type to use to validate and decode the output value returned by the remote procedure. | |
SOAPAction | String Optional. Value to which you want to set the SOAPAction HTTP header. | |
contentType |
String Optional. Specifies the value of Content-Type
in the HTTP header. Set to:
|
|
encoding | String Optional. Specifies the encoding method. Default value is UTF-8. | |
loadAs |
String Optional. Specifies the format of the
soapResponseData. Default value is stream. Set to:
|
|
timeout | String Optional. Time (measured in milliseconds) to wait for a response from the server hosting the remote procedure before timing out and terminating the request. The default value is to wait forever. |
Output Parameters
soapResponseData | Object A SOAP object containing the SOAP response message returned by the server specified in address. | |
respParms |
Document Output parameters returned by the remote
procedure. For example, if the remote procedure returned two String parameters,
status and
balance, containing the values
closed and
-4.95 ,
respParms would contain the
following:
|
|
Key | Value | |
status |
closed
|
|
balance |
-4.95
|
|
header | Document Conditional. Headers from the HTTP response. Will contain the following keys: | |
Key | Value | |
lines | Document Header fields from the HTTP response. Each key in lines represents a field (line) of the response header. Key names represent the names of header fields. The keys' values are Strings containing the values of the fields. | |
status | String Status code from the HTTP response. | |
statusMessage | String Status message from the HTTP response. | |
soapStatus | String Flag indicating whether the SOAP request message was processed successfully. | |
A value of... | Indicates that... | |
0
|
The remote server successfully processed the SOAP request and returned a SOAP response message. | |
1
|
The remote server returned a SOAP fault, indicating that the SOAP request was received but was not processed successfully. | |
2
|
The server returned an error that was not a SOAP fault. This indicates that some type of HTTP error occurred (often, an HTTP 404). You can check the status field in header to determine the type of HTTP error that occurred. |
Usage Notes
The pub.client:soapRPC service is deprecated. There is not a replacement service.
To disable output validation for
pub.client:soapRPC, set the
watt.server.soap.validateResponse server configuration parameter to
false
. For more
information about watt.server.soap.validateResponse, see
webMethods Integration Server
Administrator’s Guide.
If
address
begins with
https:
, you can
use
pub.security.keystore:setKeyAndChain to specify the certificate chain. If you do not
specify a certificate chain,
pub.client:soapRPC uses the
default outbound SSL certificate settings to authenticate the resources.
If the Docker image for a Microservices Runtime excludes the web services functionality, then the Docker image for the Microservices Runtime running in the Docker container cannot execute the pub.client:soapRPC. Attempts to execute the pub.client:soapRPC service end with a ServiceException.
See Also
pub.client:websocket
WmPublic. Establishes a WebSocket connection to the URL captured in the identified WebSocket client endpoint.
Input Parameters
nsName | String Namespace name of the WebSocket client endpoint. | |
headers | Record Optional. Headers that are part of the HTTP request used to establish the WebSocket connection. | |
Key | Description | |
name | The name of the header. | |
value | The value of the header | |
auth |
String Authentication information that the
pub.client:websocket service will
submit to the URL in WebSocket client endpoint.
|
|
Key | Description | |
type |
String Type of authentication scheme that you want
this service to use when it submits this request. Set to:.
|
|
username | String Username that this service will submit when requesting a protected resource. | |
password | String Password associated with user. | |
secure | String Optional. Parameters specifying the truststore information for certificate validation that Integration Serveruses when communicating with the WebSocket server port: | |
Key | Description | |
truststoreAlias | String Alias for the truststore that contains the list of certificates that Integration Server uses to validate the trust relationship. If you do not specify a truststore alias, the default truststore alias specified in the watt.security.trustStoreAlias property will be used. | |
connectTimeout |
String Optional. Time (measured in milliseconds) the
server will wait to connect to the remote server before timing out and
terminating the request.
If a value for connectTimeout is not specified, Integration Server uses the value specified for the watt.net.timeout server configuration parameter. If no value is specified for the watt.net.timeout server configuration parameter, the server will wait for the timeout value defined by the operating system before terminating the connection request. For more information about the watt.net.timeout server configuration parameter, see webMethods Integration Server Administrator’s Guide. |
|
cookies | String Optional. The cookies which are to be part of the HTTP request used to establish a WebSocket connection. | |
extensions | String Optional. The extensions which are to be part of the HTTP request used to establish a WebSocket connection. | |
subProtocols | String Optional. The subprotocols which are to be part of the HTTP request used to establish a WebSocket connection. |
Output Parameters
sessionId | String Session ID to identify the WebSocket session. |