|
SAP NetWeaver 7.30 SP01 KMC | |||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||
See:
Description
| Interface Summary | |
|---|---|
| IAbortCondition | An abort condition for the ICE item iterators to interrupt the creation of an ICE package. |
| IChunkedOutput | IChunkedOutput is a common interface of all output generators that are able to write their data in chunks. |
| IICEElement | This is the base "class" of all ICE elements. |
| IICEItemIterator | IICEItemIterator is a generic iterator over ICEItem elements. |
| Class Summary | |
|---|---|
| ICEAccess | ICEAccess represents an ice-access element inside an ice-item-ref. |
| ICEAccessControl | ICEAccessControl represents an ice-access-control element inside an ice-access. |
| ICEAccessWindow | ICEAccessWindow represents an ice-access-window element inside an ice-access. |
| ICECode | ICECode is a representation of an ice-code response element. |
| ICEContact | ICEContact represents an ice-contact element. |
| ICEContext | Stores context information about an ICE payload being parsed by an instance
of ICEInput. |
| ICEDeliveryPolicy | ICEDeliveryPolicy represents an ice-delivery-policy element. |
| ICEDeliveryRule | ICEDeliveryRule represents an ice-delivery-rule element. |
| ICEInput | Decodes an ICE payload from an input stream using a SAX parser. |
| ICEItem | ICEItem represents an ice-item element inside an ice-package. |
| ICEItemBase | ICEItemBase is the base class of all item elements inside an ICE package. |
| ICEItemCollection | ICEItemCollection is the base class of all collections of ICE item elements (in the current standard there are only ICEItemGroup and ICEPackage). |
| ICEItemGroup | ICEItemGroup is a representation of an ice-item-group element inside an ice-package. |
| ICEItemRef | ICEItemRef represents an ice-item-ref element inside an ice-package. |
| ICEItemRemove | ICEItemRemove represents an ice-item-remove element inside an ice-package. |
| ICEOffer | ICEOffer represents an ice-offer element. |
| ICEOutput | ICEOutput is an utility class to assemble an ICE payload to an OutputStream. |
| ICEPackage | ICEPackage is a representation of an ice-package element. |
| ICEPackageState | ICEPackageState is a representation of an ice-package-state element. |
| ICEReceiver | ICEReceiver represents an ice-receiver element. |
| ICESender | ICESender represents an ice-sender element. |
| ICEText | ICEText represents an ice-text element. |
| ICEXMLSerializer | The ICEXMLSerializer is a simple extension to the standard Xerces XMLSerializer to speed up the Base64 output of the ICE items in an ICE package. |
| InputOutputPipe | InputOutputPipe is a helper class to convert an OutputStream to an InputStream. |
| PreparsedXML | A very simple XML preparser that extracts the content information from an XML stream. |
ICE protocol helper.
This package is a collection of helper classes that make the assembly and dissembly of and ICE package (resp. an ICE payload) easiery. The ICE server implementation as well as any ICE client should use the functionality of this package.
The following code example should be used to process an ICE payload:
ICEOutputoutput = newICEOutput(<OutputStream that received the ICE responses>); output.setSender(<AnICESendercontaining the sender informations>);ICEInputinput = newICEInput(<InputStream of the ICE payload>, output); input.setSynRequestHandler(<An implementation ofIICESynRequestHandler>); // optional input.setSubRequestHandler(<An implementation ofIICESubRequestHandler>); // optional input.setComRequestHandler(<An implementation ofIICEComRequestHandler>); // optional input.setResponseHandler(<An implementation ofIICEResponseHandler>); // optional input.handle(); // start the processing
Since ICE payloads could be quite big chunks of XML-data the processing is completly handler-/event-based. Inside
the ICEInput an incomming payload is parsed with a SAX parser, the SAX
events are then maped onto the difference ICE events that are defined in the
handler package.
To speed up the processing of (probably very large) chunks of base-64 data in an incoming ICE payload
is prepared by an XML preparser before transfered to the real
SAX parser. So the usual processing chain looks like this:
ICE payload
|
| Raw data stream
V
XML preparser
|
| Preparsed XML stream with processing instructions
V
SAX parser (created with the javax.xml.parsers.SAXParserFactory)
|
| SAX events
V
ICEInput
|
| ICE events
+---------------------+------+-----------------+------------------------+
| | | |
V V V V
IICESynRequestHandler IICESubRequestHandler IICEComRequestHandler IICEResponseHandler
The XML preparser enables an implementation of the different handler
interface to bypass this processing chain and obtain an InputStream on the raw data of the payload (this is
especially useful when handling ICE items with large chunks of base64 data).
|
SAP NetWeaver 7.30 SP01 KMC | |||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||