OASIS ebxml-iic TC: 

Conformance Testing Requirements vs. Specification Discrepancies: ebXML Messaging Services 2.0

ID Name Specification Ref Precondition Requirement Level Assertion Discrepancy
urn:semreq:id:10 GenerateSameEncodingAndCharacterSetValue ebMS-2#2.1.3.1 ( For each generated message, if both the MIME charset and SOAP message encoding declaration are present ) REQUIRED They shall have the same value. Please clarify if a UTF-8 MIME charset and an ASCII  SOAP encoding are legal or illegal.
urn:semreq:id:15 ProcessUnrecognizedMIMEHeaders ebMS-2#2.1.5 ( For each received message containing unrecognized MIME headers ) REQUIRED Unrecognized MIME headers in a MIME part are ignored and no Error message is returned. What does "ignored" mean in this context?
urn:semreq:id:74 ResendToRetriesExceeded ebMS-#6 ( For each reliably generated message, if the candidate MSH fails to receive an Acknowledgment mesage from a receiving MSH ) RECOMMENDED The candidate sends successive retries until a predetermined number of retries is exceeded. How can this be a "MAY" situation when reliable messaging is involved.
urn:semreq:id:145 NotifyFailureByAlternateMeans ebMS-#6 ( For each reliably received message, if an Error Message is generated with an error code set to DeliveryFailure AND an Error Message cannot be delivered successfully ) REQUIRED The ultimate destination of the error message is informed of the failure by some undefined means. We need a more specific statement before we can write an test assertion.
urn:semreq:id:149 GenerateDeliveryFailureOnOutOfSequMsg ebMS-2#9.1.1 ( For each received message, if the message contains a MessageOrder element AND if the maximum number of out-of-sequence ordered messages have been received ) REQUIRED The Sending MSH is sent an error and the error code is DeliveryFailure and severity set to Error. Please clarify that the allowance for a maximum number of  out-of-order messages is an option or a requirement. Is the "if" inferred to be an implementation option?
urn:semreq:id:154 UseZeroSequenceNoAndSatusContinueForFirstOrderedMsgAfterWrap ebMS-2#9.1.1 ( For each received message, if the message contains a MessageOrder element AND this is the first ordered message after the sequence wrapped at value 99999999 ) REQUIRED The SequenceNumber element has value of 0 and a status Value of Continue The SequenceNumber element's "status" attribute SHALL be present, but  the XML schema does not enforce its presence.  Is this a schema design error?
urn:semreq:id:155 ResetMsgSeqForConversation ebMS-2#9.1.1 ( For each generated message, when sending a message with the MessageOrder element AND if the status attribute is set to "Reset" ) REQUIRED All previous sent messages for this conversation must have been accounted for. This implies that there would be an error if this is not the case, but the specificatio does not say that.  Does the receiving MSH throw an error ( such as an illegal reset  ) or hold the communication until it is clear to reset?
urn:semreq:id:179 SignMsgPriorToEncryption ebMS-2#4.1.4.5 ( For each generated message if,based upon the Transport section of the relevent CPA, a signature is required for the entire message AND if signature and encryption of a message component is requested of the MSH ) OPTIONAL Signing takes place prior to encryption. Please clarify this item.  Payload encryption applies here.  The application layer would encrypt the payload prior to passing to the MSH for signing and ship.
urn:semreq:id:186 ProcessUnauthorizedStatusRequest ebMS-2#7.1.3 ( For each received message, if the message contains a StatusRequest element AND the StatusRequest child RefToMessageId element value is recognized by the MSH AND the message is received from a party deemed to be unauthorised ) OPTIONAL A response is sent with the messageStatus attribute set to "UnAuthorized". What constitutes  a definition of  "unauthorized" in the specification?
urn:semreq:id:190 SetTimestampNotAuthorized ebMS-2#7.3.2 ( For each received message, if the message contains a StatusRequest element AND the StatusRequest child RefToMessageId element value is not authorized. ) REQUIRED The Timestamp child element of the StatusResponse element is not present in the response message. What constitutes a definition of "unauthorized" in the specification?
urn:semreq:id:206 GenerateAckBasedOnActor ebMS-2#10.1.3 ( For each received multi-hop message, if an inbound message contains two AckRequested elements where one addresses NextMSH AND another AckRequest addresses the ToParty MSH AND the receving MSH is the ToParty MSH ) REQUIRED The MSH node is in the combined role of Next and ToParty MSH, and will send two Acknowledgments This portion of the spec  is  very vague regarding expected conformant behavior, and as a result, no meaningful assertions could be written.