In order to bring you the best possible user experience, this site uses Javascript. If you are seeing this message, it is likely that the Javascript option in your browser is disabled. For optimal viewing of this site, please ensure that Javascript is enabled for your browser.
Login  |   On Demand  |   Home  |

The only requirement of a response parser is to implement an interface defined by QXtend Outbound. The class containing the interface is com.qad.qxtend.qxo.ISubscriberResponseParser. The definition for this interface is:
method public void parseResponse (input pcResponse as longchar,
output dataset for dsQdocResponseDetails).
The definition of the dsQdocResponseDetails dataset is defined in the file com/qad/qxtend/qxo/dsResponseDetails.i.
define temp-table ttProcessingResult no-undo
field resultStatus as character
field resultSequence as integer
index resultSequence is primary unique resultSequence.
define temp-table ttProcessingException no-undo
field exceptionNumber as character
field exceptionDescription as character
field exceptionSeverity as character
field exceptionContext as character
field resultSequence as integer
field exceptionSequence as integer
index exceptionSequence is primary unique resultSequence exceptionSequence.
define dataset dsQdocResponseDetails
ttProcessingResult, ttProcessingException
data-relation for ttProcessingResult, ttProcessingException
relation-fields (resultSequence, resultSequence).
The response parser class receives the response as a longchar (pcResponse). This longchar variable contains the entire response, and it is up to the parser to determine from this variable whether the request was a success or failure, if it was a failure what type of failure, and any other information that can be gleaned.
Therefore, a template for creating a response parser would be:
using com.qad.qxtend.qxo.QdocResponseHandler.
class <classname> implements com.qad.qxtend.qxo.ISubscriberResponseParser:
method public void parseResponse (input pcResponse as longchar,
output dataset for dsQdocResponseDetails):
< implement parsing code here >
end method.
end class.