use of com.helger.phase4.model.pmode.PMode in project phase4 by phax.
the class MockPModeGenerator method getTestPModeWithSecurity.
@Nonnull
public static PMode getTestPModeWithSecurity(@Nonnull final ESoapVersion eSOAPVersion) {
final PMode aPMode = getTestPMode(eSOAPVersion);
final PModeLegSecurity aPModeLegSecurity = new PModeLegSecurity();
aPModeLegSecurity.setWSSVersion(EWSSVersion.WSS_111);
aPModeLegSecurity.setX509SignatureAlgorithm(ECryptoAlgorithmSign.SIGN_ALGORITHM_DEFAULT);
aPModeLegSecurity.setX509SignatureHashFunction(ECryptoAlgorithmSignDigest.SIGN_DIGEST_ALGORITHM_DEFAULT);
aPModeLegSecurity.setX509EncryptionAlgorithm(ECryptoAlgorithmCrypt.ENCRPYTION_ALGORITHM_DEFAULT);
aPModeLegSecurity.setSendReceiptReplyPattern(EPModeSendReceiptReplyPattern.RESPONSE);
aPModeLegSecurity.setSendReceiptNonRepudiation(true);
aPMode.setLeg1(new PModeLeg(_createPModeLegProtocol(eSOAPVersion), _createPModeLegBusinessInformation(eSOAPVersion), _createPModeLegErrorHandling(), null, aPModeLegSecurity));
// Leg 2 stays null, because we only use one-way
return aPMode;
}
use of com.helger.phase4.model.pmode.PMode in project phase4 by phax.
the class MockPModeGenerator method getTestPMode.
@Nonnull
public static PMode getTestPMode(@Nonnull final ESoapVersion eSOAPVersion) {
final PModeParty aInitiator = _createInitiatorOrResponder(true, eSOAPVersion);
final PModeParty aResponder = _createInitiatorOrResponder(false, eSOAPVersion);
final PMode aConfig = new PMode(IPModeIDProvider.DEFAULT_DYNAMIC.getPModeID(aInitiator.getID(), aResponder.getID()), aInitiator, aResponder, DEFAULT_AGREEMENT, EMEP.ONE_WAY, EMEPBinding.PUSH, _createPModeLeg(eSOAPVersion), null, null, null);
// Leg 2 stays null, because we only use one-way
return aConfig;
}
use of com.helger.phase4.model.pmode.PMode in project phase4 by phax.
the class PModeCheckTest method testPModeLegNullReject.
@Test
public void testPModeLegNullReject() throws Exception {
final PMode aPMode = MockPModeGenerator.getTestPMode(SOAP_VERSION);
aPMode.setLeg1(null);
final IPModeManager aPModeMgr = MetaAS4Manager.getPModeMgr();
// Needed since different ids set in message and pmode otherwise
m_aEbms3UserMessage.setCollaborationInfo(MessageHelperMethods.createEbms3CollaborationInfo(aPMode.getInitiatorID() + "-" + aPMode.getResponderID(), DEFAULT_AGREEMENT, null, CAS4.DEFAULT_SERVICE_URL, CAS4.DEFAULT_ACTION_URL, AS4TestConstants.TEST_CONVERSATION_ID));
try {
for (final String sPModeID : aPModeMgr.getAllIDs()) {
aPModeMgr.deletePMode(sPModeID);
}
assertTrue(aPModeMgr.getAllIDs().isEmpty());
aPModeMgr.createOrUpdatePMode(aPMode);
final AS4UserMessage aMsg = AS4UserMessage.create(SOAP_VERSION, m_aEbms3UserMessage).setMustUnderstand(true);
final Document aSignedDoc = AS4Signer.createSignedMessage(m_aCryptoFactory, aMsg.getAsSoapDocument(m_aPayload), SOAP_VERSION, aMsg.getMessagingID(), null, s_aResMgr, false, AS4SigningParams.createDefault());
sendPlainMessageAndWait(new HttpXMLEntity(aSignedDoc, SOAP_VERSION.getMimeType()), false, EEbmsError.EBMS_PROCESSING_MODE_MISMATCH.getErrorCode());
} finally {
// The MockPModeGenerator generates automatically a PMode, we need
// too delete it after we are done with the test
aPModeMgr.deletePMode(aPMode.getID());
}
}
use of com.helger.phase4.model.pmode.PMode in project phase4 by phax.
the class TwoWayAsyncPushPullTest method before.
@Before
public void before() {
final PMode aPMode = CEFPMode.createCEFPMode(AS4TestConstants.TEST_INITIATOR, AS4TestConstants.TEST_RESPONDER, MockJettySetup.getServerAddressFromSettings(), (i, r) -> "pmode" + GlobalIDFactory.getNewPersistentLongID(), false);
// Setting second leg to the same as first
final PModeLeg aLeg2 = aPMode.getLeg1();
// ESENS PMode is One Way on default settings need to change to two way
m_aPMode = new PMode(aPMode.getID(), PModeParty.createSimple(DEFAULT_PARTY_ID + "1", CAS4.DEFAULT_ROLE), PModeParty.createSimple(DEFAULT_PARTY_ID + "1", CAS4.DEFAULT_ROLE), aPMode.getAgreement(), EMEP.TWO_WAY, EMEPBinding.PUSH_PULL, aPMode.getLeg1(), aLeg2, aPMode.getPayloadService(), aPMode.getReceptionAwareness());
// Delete old PMode since it is getting created in the ESENS createPMode
MetaAS4Manager.getPModeMgr().deletePMode(aPMode.getID());
MetaAS4Manager.getPModeMgr().createOrUpdatePMode(m_aPMode);
}
Aggregations