Validation fails during publishing a document which refers to the WSDL document

Hi

Can you please look into below scenario and help us in fixing the issue.

We are getting data from Cloud ERP and passing the same (document List) to Integration Server for further processing from wM Integration Cloud.

The primary service using loop on the document list and publishing each document locally to process multiple documents concurrently from IS to target system.

Here, for a particular field “/salesOrder/RequestedFulfillmentPeriodPeriodTerms/StartDateTime/body", the pattern defined in the schema (document generated from WSDL file for Cloud ERP WebService) as below
<xsd:restriction base=“xsd:dateTime”><xsd:pattern value="[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(.[0-9]
)?”/></xsd:restriction>

<xsd:restriction base=“xsd:dateTime”><xsd:pattern value="[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(.[0-9]{1,7})?Z"/></xsd:restriction> → we tried with this as well

By using either of the defined pattern, when we are getting value for the filed as 2017-07-19T00:00:00.000000Z, the publish step is failing with below error.

[ISS.0098.9007] Data does not conform to the Publishable Document Type EAI_CCE_ByD.documents:SalesOrder errors: INVALID List of errors: [0] pathName=/salesOrder/RequestedFulfillmentPeriodPeriodTerms/StartDateTime/*body errorCode=DT-012 errorMessage=[ISC.0082.9469] Value does not match pattern(s)

But it is getting published successfully when we are getting value 2017-07-19T00:00:00Z

Please let us know what is causing this issue in webMethods validation (as per general regular expressions it should allow 1 to n or 1 to 7 digits in milliseconds part).
what is the fix to be done (in reguler expression or IS) so that the field value accepts 1 to 7 digits in milliseconds part in webMethods.

Thank you!
Gopal

Hello,

For your sample date time stamp (2017-07-19T00:00:00.000000Z) the regex should be [0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(.[0-9]{1,6})?Z

For 2017-07-19T00:00:00.1234567Z – [0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(.[0-9]{1,7})?Z

Ran on IS_9.12_Core_Fix8

For your sample date time stamp (2017-07-19T00:00:00.000000Z) the regex should be [0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(.[0-9]{1,6})?Z

For 2017-07-19T00:00:00.1234567Z – [0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(.[0-9]{1,7})?Z

Hi Mahesh,

Thanks for your response. SO this will work only with IS_9.12_Core_Fix8.

Does this regex [0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(.[0-9]{1,7})?Z , not allow a datetime value with 6 digits in milliseconds value?. This should allow a value that allows the preceding element to occur at least 1 and not more than 7 times which matches with 000000 in milliseconds.

Please confirm.

Thank you!
Gopal

That’s not the case, it should work with 9.8 and if you see it does not, feel free to contact SAG support there might be some fixes.

I tested the samples as posted above, hope that helps.

Is the validation really required ? If not required .

Then you can set the property of the publishable document , “Validate when published” to “False”

Hi Rakesh,

Thank you for the inputs.

Yes, we disabled the validations already as a work-around, but looking for a solution which resolves the issue with regex validation.

Regards,
Gopal