This document covers the following topics:
See also the delivered example XMMInvoker
and
XMLRPCService
(EntireX XML/SOAP Runtime).
To write the client program
Initialize the Broker
Object:
Broker broker = new Broker(brokerID, userID); // if a logon should be issued broker.logon(password);
Initialize the XMLRPCService
Object:
XMLRPCService service; service = new XMLRPCService(xmmfilename);//constructor with XMM
or
XMLRPCService service; service = new XMLRPCService(broker, serverName, xmmfilename);
Initialize the Conversation
Object:
For one XMLRPCService
, only one conversation
may be used at a time.
private Conversation conv; conv = new Conversation(service);
Assign the incoming XML document:
String xmlDocument = "<?xml version="1.0" encoding="iso8859-1"?>" + "<CALC Operation=\"-\" Operand_1=\"1000000611\" Operand_2=\"1000000288\"></CALC>";
Invoke the Service.
Non-conversational:
try { String result = service.invokeXML(xmlDocument); } catch (XMLException e) { // Error handling ... } catch (BrokerException e) { // Error handling ... } catch (Exception e) { // Error handling ... }
Conversational:
try { service.setConversation(conv); String result = service.invokeXML(xmlFromFile(filename)); service.closeConversationCommit(); } catch (XMLException e) { // Error handling ... } catch (BrokerException e) { // Error handling ... } catch (Exception e) { // Error handling ... }
The string result contains the returned document. It should be:
<CALC Function_result="899" />
The definition of the Java classpath must include
the generated XMM file, see Generating an XMM File
the entirex.jar file (delivered in the directory <EntireX Home>/classes)
the files for an XMLStreamParser, for example the delivered wstx-asl.jar and stax-api.jar (in the directory <EntireX Home>/classes)
XMLRPCService
extends
com.softwareag.entirex.aci.RPCService
. See XMLRPCService
(EntireX XML/SOAP Runtime).
The Listener for XML/SOAP supports HTTP POST
Request and HTTP GET
Request.
The following HTTP headers and parameters are available. Use them from the EntireX XML Tester or other third-party XML tools:
Header/Parameter | Direction | Description |
---|---|---|
exx-brokerID |
IN | If this attribute is set, it overwrites both the properties of the XMM file and the settings of the servlet initialization. |
exx-service |
IN | The service name is the triplet of server class/server name/service. If this attribute is set, it overwrites both the properties of the XMM file and the settings of the servlet initialization. |
exx-userID |
IN | The user ID specified here is used for calling the broker. |
exx-password |
IN | The password specified here is used for calling the broker. |
exx-use-security |
IN | Deprecated. An internal automatic routine makes this parameter obsolete. Possible values: true | false .
|
exx-rpc-userID |
IN | The RPC user ID specified here is used for Natural Security.
If no RPC user ID and no RPC password is defined,
the values of exx-userID and exx-password are used for these values.
|
exx-rpc-password |
IN | The RPC password specified here is used for Natural Security.
If no RPC user ID and no RPC password is defined,
the values of exx-userID and exx-password are used for these values.
|
exx-natural-security |
IN | Possible values: true | false . Determines whether Natural Security is used. See Using the Broker and RPC User ID/Password.
|
exx-natural-library |
IN | The Natural library. Applicable only if exx-natural-security is
"true ". See Using the Broker and RPC User ID/Password.
|
exx-use-codepage |
IN | Determines the encoding the Listener for XML/SOAP uses to communicate with EntireX Broker. See RPC Call (Broker Request) in the Listener for XML/SOAP documentation. |
exx-compresslevel |
IN | Sets the compression level. See Using Compression under Writing Advanced Applications - EntireX Java ACI. |
exx-compression |
IN | Possible values: true |false .
See Using Compression.
|
exx-xml-sessionID |
IN OUT | This HTTP header is returned from the servlet to the client
application. If the client returns it to the servlet with the preceding call,
the same session will be used. For conversations, the exx-conv parameter is
also required.
|
exx-xml-info |
OUT | In this HTTP header additional information is returned. |
exx-xml-error |
OUT | In this HTTP header error information is returned. |
exx-conv |
IN | Possible values: OPEN | COMMIT | BACKOUT .
Conversations can only be used in connection with sessions. If the session is interrupted, the conversation is deleted. |
exx-reliable |
IN | Possible values: AUTO-COMMIT | OFF .
|
exx-messageID |
OUT | The message ID of the RPC request (if available). |
exx-correlationID |
OUT | The message ID of the RPC reply (if available). |