CT users: we have added a new "PDFMergeWithDocInstances" output type to our available ancillary outputs; we have also address an issue where merged PDF's were failing in SelectGenerateAndDeliver, SelectAndGenerate, and Deliver API calls.
We have enhanced the information around Callbacks in the Expere Document Services webhelp. For more information, see Callback Overview, CallbackHandler, and DeliveryResponse.
We have introduced a new <Sequencing/> element to the following field types in the Expere response file:
This <Sequencing/> element is implemented for the Secure Document Exchange (SDX) product for those users who sign across documents. It also makes each field unique so can merge PDF documents that use signature, date, initial, and fillable text fields.
If the "MergePDF=true" in the response file, the Signature, Date, Initials, FillableCheckboxes and FillableText field types elements will contain sequencing in the <FieldName/> element using an incremental numbering system with an underscore.
Sequencing logic and format example:
<r:SignaturePointSet> <r:Signer> <r:Id>Homer</r:Id> <- Signer ID <r:Description>Borrower, Borrower</r:Description> <r:SignaturePoints> <r:Type>Initials</r:Type> <r:Sequencing>1</r:Sequencing> <r:FieldName>INI_Borrower_null_homer_false_1_SigField_1</r:FieldName> </r:SignaturePoint> <r:SignaturePoint> <r:IncludeDate>true</r:IncludeDate> <r:PageNumber>1</r:PageNumber> <r:SignatureText>Homer Simpson</r:SignatureText> <r:Type>Signature</r:Type> <r:Sequencing>2</r:Sequencing> <r:FieldName>SIG_Borrower_null_homer_false_1_SigField_2</r:FieldName> </r:SignaturePoint> <r:FillableFieldSet> <r:FillableText> <r:FieldName>FillableField_3</r:FieldName> <r:ToolTip>fill in here</r:ToolTip> <r:PageNumber>1</r:PageNumber> <r:Width>420.0</r:Width> <r:Height>72.0</r:Height> <r:XCoordinate>56.0</r:XCoordinate> <r:YCoordinate>100.0</r:YCoordinate> <r:Sequencing>3</r:Sequencing> </r:FillableText> <FillableCheckBox> <r:FieldName>FillableCheckBox_4</r:FieldName> <r:ToolTip>check here</r:ToolTip> <r:PageNumber>1</r:PageNumber> <r:Checked>false</r:Checked> <r:XCoordinate>22.0</r:XCoordinate> <r:YCoordinate>140.0</r:YCoordinate> <r:Sequencing>4</r:Sequencing> </FillableCheckBox> </r:FillableFieldSet>
Users may now use the <InstanceFileName/> element in the Attachment data type in SelectGenerateAndDeliver, SelectAndGenerate, and Generate requests. Previously, this element could not be passed in a request. Including the <InstanceFileName/> element in the request will allow the specified name to be returned in the response.
For example:
<DisplayName>Good Faith Estimate (GFE) - VMP116F.pdf</DisplayName> <InstanceFileName>b11c853cb1c1431c9fc0028feaa014b7</InstanceFileName>
If the request does include a value for <InstanceFileName/>, Expere Document Services will return a "default" value.
We have added a new <SignerEmail/> element to the <Signer/> element.
This element appears in the Expere response file when including the "eSignatureWKES" flag in the initial request. Sample code below:
The Resubmit API now functions with a Deliver call; in the event of an outage or other unforeseen service interruption, those transactions sent or included in a Deliver call can now be resubmitted without re-initiating the transaction submission process. There is no change to the Expere Document Services WSDL.
This security issue has been rectified; we have now implemented an additional permission check when viewing search results.
A critical insecure direct object reference vulnerability was found within Expere Document Services. Nettitude, an independent penetration testing vendor, was able to view sensitive transactional information intended for other users only by altering the accountId paramater in the POST request through the Expere Document Services tool suite.
Wolters Kluwer Electronic Signature (WKES) users can now initial documents with a fillable text field (Acroform) using a new element called </eSignatureWKES>, as a child of the </ESignatureAndFieldSupport> element in the </AncillaryOutputOption>. If setting this element to "true," the initials render as a fillable text field on the document(s). By default, this element is set to "false" and renders as an eSignature field. In a future release, WKES users will be able to capture initials one time per signer and populate those initials to all the respective signer fields.
<r:AncillaryOutputOption> <r:OutputType>ESignatureAndFieldSupport</r:OutputType> <r:ESignatureAndFieldSupport> <r:eSignatureTooltip/> <r:eSignatureInitialsTooltip/> <r:eSignatureCoordinatesOnly>false</r:eSignatureCoordinatesOnly> <r:eSignatureDateSupport>true</r:eSignatureDateSupport> <r:NonSignatureFieldCoordinatesOnly>true</r:NonSignatureFieldCoordinatesOnly> <r:eSignatureWKES>false</r:eSignatureWKES> </r:ESignatureAndFieldSupport> </r:AncillaryOutputOption>
The <DiscretePartyIDs/> element is now included in the Expere Response to support the Discrete Party Feature. DiscretePartyIDs is a sibling to the <InstanceDisplayName/> element and a child element of <DocInstance/>.
<Packet PacketName="Default" PacketFileName="Default.pdf"> <DocInstances> <DocData> <base64>JVBERi0xLjQKJeLjz GFydHhyZWYKMjUxOTIKJSVFT0YK</base64> <text xsi:nil="true"/> <xml> <NotApplicable/> </xml> </DocData> <InstanceDisplayName>Business Debit Card Agreement - VISA(TM) CheckCard</InstanceDisplayName> <InstanceFileName>Default-Business_Debit_Card_Agreement_-_VISA_TM__CheckCard.pdf</InstanceFileName> <InstanceFormattingMetadata xsi:nil="true"/> <InstancePacketType xsi:nil="true"/> <InstancePacketName xsi:nil="true"/> <InstanceDocumentRef xsi:nil="true"/> <InstanceSequence xsi:nil="true"/> <InstanceBarcodeValue xsi:nil="true"/> <InstancePageCount xsi:nil="true"/> <DocFormat xsi:nil="true"/> <Copy xsi:nil="true"/> <SignaturePointSet xsi:nil="true"/> <DiscretePartyIDs> <DiscretePartyID >60593</DiscretePartyID> <DiscretePartyID >60594</DiscretePartyID> </DiscretePartyIDs> </DocInstances>
The <Packet/> now contains the following attributes:
These attributes are included in the <Packet/> element so users can create packets of documents.
Previously, Expere Document Services only returned one DocInstance when merging PDF documents. As a result, only one set of elements was returned, rather than multiple sets of elements determined by the number of DocInstances.
Expere Document Services now returns separate DocInstances when the merged PDF is set to "true" in the response file.
For more information, see the following:
It was reported that documents were not being delivered as a merged PDF when the PDFMerge attribute was present on a SelectGenerateAndDeliver, or SelectAndGenerate followed by a Deliver call.
This issue has been resolved; SelectGenerateAndDeliver, SelectAndGenerate, and Deliver API calls once again deliver merged PDF documents.
We have created a new ancillary output option called PDFMergeWithDocInstances to support returning DocInstances for each document in the package, when merged PDF is desired.
When this new ancillary option is included in the request, the response will include one Base64 merged PDF within the first <DocInstance/>. All additional <DocInstance/> entries within the response will contain elements that pertain to the specific document(s). For example: <InstanceDisplayName>, <InstanceFileName>, etc.
<data:AncillaryOutputOptions> <data:OutputType>PdfMergeWithDocInstances</data:OutputType> </data:AncillaryOutputOptions>
We now return the <InstancePageSize/> element value in the Expere EDS response file. Users can set the value for the <InstancePageSize/> element in the DocInstance data type.
The <DiscretePartyID/> element is now available in the Expere Document Services WSDL within the complexType DocInstance. This change is implemented to support Discrete Borrower functionality, which will be included in a future release
WSDL Enhancement
<xs:complexType name="DocInstance"> <xs:sequence> .... <xs:element minOccurs="1" maxOccurs="1" name="DiscretePartyIDs" type="tns:DiscretePartyIDs"/> </xs:sequence> <xs:attribute name="DocIDRef" type="xs:string"/> </xs:complexType>
The <DiscretePartyID/> element is now available in the Expere Document Services WSDL in the DocInstance complex type. It is a sibling to the <InstanceDisplayName/> element and a child element of <DocInstance/>.
The <DiscretePartyID/> element is part of a future enhancement that will be introduced in a future Expere Document Services release.
<DiscretePartyIDs> - <DiscretePartyID>x</DiscretePartyID> <DiscretePartyID>x</DiscretePartyID> </DiscretePartyIDs>
The Expere Document Services Tool Suite has been enhanced to include the following watermark options for the Select, Generate, and Deliver, Select and Generate and Generate API's:
For more information, see Select Generate And Deliver, Select and Generate and Generate.
Previously, callbacks for Delivery service were unsuccessful due to the callback URL and Username not being saved in the request
This issue has been resolved; submitting a SelectGenerateDeliver request with callback now contains the URL and user name in the Request Callback node.
Previously, users were logged out of the Expere Document Services Tool Suite after 25 minutes, regardless of their activity. The expected behavior is that the Tool Suite only times out after 25 minutes of user inactivity.
The Tool Suite has been enhanced to only time out after 25 minutes of user inactivity.
Previously, the application pools in the Osprey stack deployments were deleted and recreated during every deployment. Any configuration work performed by the ASM group, such as enabling the flags to generate recycle event log entries for a given application pool or adjusting the timing of recyle events, was deleted.
Now, all "Generate Recycle Event Log Entry" flags are set to "true" for all Osprey stack pools, for all environments. This allows ASM resources to analyze recycling information for a particular application pool.
Previously Expere Document Services allowed Select, Generate, SelectAndGenerate, or SelectGenerateDeliver requests to be passed to Document Generation Services when no transaction data was provided. The user then received a Transaction ID that never generated documents and only provided an error, due to the invalid transaction.
This has been corrected. Now when a request is submitted the transaction data is validated prior to Expere Document Services providing a Transaction ID and sending it on to Document Generation Services. In the future, if the transaction data is not provided in the request, the end user will not receive a Transaction ID and receive an error instead.
Previously, users reported that after entering a Transaction ID on the Generate Results page, entering different ID's returned the original result. Expected behavior is that entering a subsequent, unique ID would return the .PDF and .ZIP files specific to that ID.
Now when a user enters the transaction ID and the PDF/zip file is generated, the user cannot re-enter another Transaction ID as the field is disabled until executing a new search. In addition the Check Status Request button is no longer available when the user generates their results with the transaction ID.
Previously, Expere Document Services set the MDC values within the classes without calling the AssignRequest method. Rather than call the AssignRequest method, EDS set the MDC values separately.
EDS now calls the AssignRequest method to set MDC values. See example below:
public static void AssignRequestItems(this ILogger logger, string requestId=null, string externalKey = null,
string identityName=null)
{
log4net.MDC.Set("EDSID", requestId ?? "-");
log4net.MDC.Set("ExternalID", externalKey ?? "-");
log4net.MDC.Set("UserID", identityName ?? "-");
}
/// <summary>
///
/// </summary>
/// <param name="logger">Logger instance.</param>
/// <param name="request">Request object that contains requestId, external key, and identity name infromation.</param>
public static void AssignRequest(this ILogger logger, EDSRequest request)
{
if (request != null)
logger.AssignRequestItems(request.Id.ToString(), request.PassthroughIdentifier, Thread.CurrentPrincipal.Identity.Name);
}
We have created a new eSignatureAndFieldSupport element to support returning XY coordinates for all fillable fields.
It was reported that documents were not being returned for certain transactions in Expere Document Services. While Document Generation Services generated the documents, Expere Document Services displayed the status of the transaction as Incomplete. We have determined the timing of certain callbacks to Expere Document Services caused inaccurate transaction statuses.
This issue has been addressed; statuses are now returned as Complete for successful transactions.
The Expere Document Services log files have been updated for consistency with Expere Document Services and allows for better parsing by our logging solutions.
The following enhancements have been implemented:
Previously, the SignaturePointSet element was set to "null" rather than contain signature field names and data.
The SignaturePointSet element has been enhanced to include the signature field name and data that appear on the form.
"SignaturePointSet": {
"Signer": [
{
"Id": "Signer",
"Description": "Borrower, Borrower",
"SignaturePoints": [
{
"IncludeDate": false,
"PageNumber": 2,
"PageOrder": "1",
"Height": 36,
"Width": 198,
"SignatureText": "Jane eSignature",
"XCoordinate": 36,
"YCoordinate": 650,
"Type": "Signature",
"FieldName": "SIG_Borrower_2_Signer_false_1"
},
{
"IncludeDate": false,
"PageNumber": 2,
"PageOrder": "1",
"Height": 36,
"Width": 50,
"SignatureText": "Jane eSignature",
"XCoordinate": 238,
"YCoordinate": 650,
"Type": "Date",
"FieldName": "SIG_Borrower_2_Signer_false_1.eSigDate"
}
]
}
We determined that the recent deployment of the latest AutoMapper caused a resulting issue with the Select API. These issues were discovered in both the Staging and CT environments.
The following error pertaining to the Select API issue appeared in the log file:
ERROR 2016-06-24 12:46:16,975 DocServices.Services.Import.V2.EDocService - [(null)] [20046] [admin1] [] An exception occurred while processing a GetSelectResults for [20046] AutoMapper.AutoMapperMappingException: Missing type map configuration or unsupported mapping.
This issue has been resolved; Select API now works as expected.
The messages used with the GetGenerateResults API have been updated to provide enhanced details if an error occurs during processing. These error messages now match those included with callbacks.
For example: a message like “Transaction is complete with errors” has been updated to state “No documents were supplied for assembly.” where applicable.
These error messages now match those included with callbacks.
Previously, we enhanced Document Generation callbacks for Expere Document Services to include a retry mechanism (PBI 382253); however, it was reported that five (5) retries occurred per request made in the CT environment. This occurred due to every request resulting in an exception on the callback acknowledgement even if an error did not occur.
We have made additional enhancements so that retries do not occur when a callback is successful. Retries now only occur when the thrown exception is “EndpointNotFoundException” or exception message contains words like “Listening” or “Timeout."
After submitting a transaction in Expere Document Services, users will now receive a response file containing the Package Documents, which contain <DocCustomData/> elements in the packages.
The new elements exist as children and grandchildren of the <r:DocDescriptor/> element. The <r:DocCustomDataItem/> elements contain the following DataItemName attribute values:
Expere Response XML values:
<r:DocCustomDataItems> <r:DocCustomDataItem DataItemName="">34453</r:DocCustomDataItem> <r:DocCustomDataItem DataItemName="/Txn/ IntegratedDisclosuresLoanEstimateTotalClosingCostsStoredValueAmount">34287</ r:DocCustomDataItem> <r:DocCustomDataItem DataItemName="/Txn/ IntegratedDisclosuresLoanEstimateClosingCostsFinancedStoredValueAmount">-34287</ r:DocCustomDataItem> <r:DocCustomDataItem DataItemName="/Txn/ IntegratedDisclosuresLoanEstimateCashToCloseStoredValueAmount">107815</r:DocCustomDataItem> </r:DocCustomDataItems>
Previously, when the Passthroughidentifier was not being passed on a Deliver request, Expere Document Services could not successfully return a Deliver callback status.
This issue has been corrected; now if the Passthroughidentifier is not provided in a Deliver request it will use the Passthroughidentifier from the SelectAndGenerate request of that transaction to complete the Deliver callback.
Document Generation callbacks have been enhanced for Expere Document Services; callback functionality includes a retry mechanism.
Expere Document Services reattempts a document generation callback in the following intervals:
In a previous release, we had released First Page Barcode functionality, albeit in limited functionality.
First Page Barcode is now fully functional in Expere Document Services for SelectGenerateAndDeliver, SelectAndGenerate and Generate methods.
The previous version of AutoMapper was not thread-safe and caused problems when multiple threads ran.
AutoMapper 4.2.1 has been optimized to repair thread-related issues, when multiple requests are process simultaneously. Document Generation Services has been updated to use AutoMapper 4.2.1.
For more information, see http://automapper.org/.
A new Passthrough Identifier parameter has been added to the Deliver API. The PassThroughIdentifier is an optional-user generated parameter that eliminates duplicate entries in Expere Document Services.
For more information, see DeliverIn.
After the Expere Document Services database was migrated from Raven to SQL,the Scheduler Service has been enhanced to remove transactions older than seven days from Expere Document Services. Users will no longer be able to retrieve these transactions.
Users can now delay packages routed to Print Fulfillment until the next day. The webconfig file allows users to delay their packages for ERP pickup and is configured by the AccountID.
The Expere ListDocuments API is now available through Expere Document Services.
The ListDocuments option calls a base or custom package of documents defined by the customer. The list of documents in the base or custom package is displayed for the end user to select and use for a given transaction. For detailed information on using this feature in the Expere Document Services Tool Suite, see List Documents.
Previously, when a document package was created successfully in DGS but EDS failed at the initial attempt to send the package to Fulfillment, the package would never make it to delivery.
To correct this, EDS will now resubmit the package to Fulfillment up to five (5) times when the initial attempt fails. This has been implemented for the Deliver and SelectGenerateAndDeliver APIs.
Previously, the SelectGenerateAndDeliver API call only utilized the delivery callback service. As a result, if an error occurred when generating the documents in Document Generation Services, no callback was sent, and the integrator did not know if the transaction was successful.
Callback behavior has been enhanced; users are now alerted if an error occurred when generating documents in Document Generation Services.
See SelectGenerateDeliver Callback Overview for more information.
Previously, the GetDeliveredImages operation did not validate if a user had access to an account with associated images. Subsequently, users could access any images without restrictions.
This behavior has been restricted; users may now only access images in accounts to which they are assigned.
The SUPPORT Page has been enhanced to allow users to search for transactions by PassThrough ID within a single account. For more information, see SUPPORT Page.
Previously when using the Resubmit Transaction call on the SERVICES Page, the original request was sent with five (5) immediate retries resulting in six (6) submissions to Document Generation Services. On a SelectGenerateDeliver call this results in as many as six (6) packages sent to Fulfillment to print and mail.
When using the Resubmit Transaction call on the SERVICES Page, only one successful request is sent to Document Generation Services. If the original submission fails, up to five retries will be attempted until a successful request is made.
Summary: Users can now apply a barcode to the first or only page of a document. For detailed information on using this feature within the Expere Document Services Tool Suite, see the Select Generate and DeliverSelect And Generate, and Generate webhelp sections within the SERVICE Page .
Previously, certain accounts and transactions on the SUPPORT Page were not visible to users with SupportLine permissions; Expere Document Services only displayed accounts licensed for Document Generation Services.
This issue has been resolved; users with SupportLine permission can now view all licensed accounts and transactions on the SUPPORT Page.
When passing an invalid URI, a URI for a nonexistant package, or request with an error in DGS or Expere, the callback indicates the following:
Previously, the Delivery ID was not returned when using the Select and Generate and Delivery API's separately; as a result, users could not access the delivered image.
This issue has been addressed; the Delivery ID is returned when submitting a transaction with the Select and Generate and Delivery API's.
It was reported that the following error inadvertently appeared in the Document Generation Services (DGS) production log:
This error message occurred when the Expere Document Services (EDS) health check page inadvertedly called DGS.
The Expere Document Services health check has been enhanced and now does not call Document Generation Services. Any Document Generation Services CT or Production errors appear during the Document Generation Services health check.
Previously when using the Select Synchronous call, the original request was sent with five (5) immediate retries resulting in six (6) submissions to Document Generation Services.
When using the Select Synchronous call, only one successful request is sent to Document Generation Services. If the original submission fails, up to five retries will be attempted until a successful request is made.
The effective date for all products within the scope of this document for this release is February 4 for the CT environment and February 18 for the Production environment.
Previously, it was reported that submitted watermarks with a null location and rotation resulted in an error in Expere Document Services.
Requests submitted without watermark location or rotation values now default to a value of "None" and process normally.
The SQL database now contains indexes for increased search functionality. The database now contains the following parameters:
Previously when an API request was submitted and no AffidavitType element passed in the call, the first available enumerator, "Unnotarized," was the default option. This behavior was not correct, as affidavits are not required.
This issue has been addressed; when an API request does not include the AffidavitType element, the type is now set to "None."
Previously when attempting to delete callback information for a particular account in the Expere Document Services Tool Suite, the information was not deleted.
This issue has been resolved; callback information is now permanently deleted for a particular account in the Expere Document Services Tool Suite.
Previously, an exception occurred in the Expere Document Services Tool Suite when the following conditions existed:
When clicking Submit, the Transaction ID appears blank; clicking Submit again displays the following message:
This issue has been resolved; requests are now processed and no callbacks are performed if the URL is not provided.
Expere Document Services has been enhanced so users can compare submitted and delivered transactions. The search functionality on the SUPPORT Page now allows users to search through one of the following:
For detailed information, see Advanced Transaction Results on the SUPPORT Page.
The effective date for all products within the scope of this document for this release is January 11 for the CT environment and January 21 for the Production environment.
All third party libraries have been updated to the latest version.
A SUPPORT page enhancement has been implemented when using the Tool Suite in Internet Explorer.
Previously, entering the Account ID and clicking Enter resulted in the Tool Suite immediately loading the transactions for that account. However, the transaction list did not appear for the specified account. Conversely, entering the Account ID and clicking View resulted in the Tool Suite displaying the transaction list for that account.
Now, either clicking View or Enter loads the transaction list for the specified account.
The following logging enhancements have been implemented in the Expere Document Services log file:
It was previously reported that the Date/Time stamp disappeared on the SUPPORT page after 130 transactions were submitted.
This issue has been addressed; the Expere Document Services Tool Suite database has been migrated from Raven to SQL. The Date/Time stamp now appears for all transactions submitted.
The following enhancments have been implemented on the SUPPORT, Select Generate And Deliver, Select and Generate, and Generate, Select, Select-Synchronous, and Deliver pages of the Expere Document Services Tool Suite:
The SUPPORT, Select Generate And Deliver, Select and Generate, Generate, Select, Select-Synchronous, and Delivery pages contains detailed information on using this functionality.
The effective date for all products within the scope of this document for this release is November 23 for the CT environment and December 8 for the Production environment.
Previously, our reporting application displayed the Created timestamp in Central time and other mailing status timestamps in UTC time.
This issue has been resolved; timestamps for all mailing histories now appear in Central time.
All Osprey common libraries have been updated to the latest version.
Expere Document Services logging has been enhanced so the Generate EDS ID is now tied to the Deliver EDS ID. Previously, users specify the EDS ID to use with a SelectAndGenerate request; Expere Document Services then created a new Deliver request with a new EDS ID. The log file was not updated with the SelectAndGenerate request EDS ID.
The Expere Document Services database has been converted from Raven to SQL. Note that there will be no change to the Transaction ID itself.
The loan number sent through the Deliver and Select, Generate, and Deliver API calls now appears in the Fulfillment Manager if included in the transaction data.
Request, or callback, functionality has been enhanced in Expere Document Services to automatically reattempt a failed request so the time to obtain a successful transaction is reduced.
Expere Document Services now reattempts a request in the following intervals:
It was reported that the Delivery Service was not properly handling any Delivery Request API calls; as a result, the packages did not reach print fulfillment.
This issue has been resolved; the Delivery Service now properly handles Delivery Request API calls, resulting in packages successfully reaching print fulfillment and displaying in Fulillment Manager. Correct callback and status information are facilitated from the Delivery Service to Expere Document Services, and Expere Document Services to the call initator.
Previously, duplicate packages were routed to Print Fulfillment. If the transaction ID was not returned immediately, another Select Generate & Deliver call was initiated with the same PassThroughIdentifier.
A table has been added to the SQL database that saves the transaction ID and PassThroughIdentifier immediately. Expere Document Services analyzes this table to determine if the PassThroughIdentifier already exists.
If the PassThroughIdentifier exists, the existing transaction ID is returned to the user details in the log file that a response was sent to the user. If the PassThroughIdentifier does not exist, a new transaction is created and a record saved in the Expere Document Services Raven and SQL table.
The new SQL contains the EDS Request Details, Date/Time Created, and RavenTransactionID (EDS Transaction ID).
Certain Expere Document Services transactions displayed a blank DGS ID value on the SUPPORT page when using the Select and Generate and Select, Generate, and Deliver actions. These transactions displayed a Successful status but did not pass the transaction to the Delivery Service for mailing or send a successful callback.
The DGS ID now always appears on the SUPPORT page when a transaction has been successfully processed in Document Generation Services and passed to the Delivery Service or returned through a callback.