Search in sources :

Example 31 with PMode

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;
}
Also used : PModeLeg(com.helger.phase4.model.pmode.leg.PModeLeg) PModeLegSecurity(com.helger.phase4.model.pmode.leg.PModeLegSecurity) PMode(com.helger.phase4.model.pmode.PMode) DefaultPMode(com.helger.phase4.model.pmode.DefaultPMode) Nonnull(javax.annotation.Nonnull)

Example 32 with PMode

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;
}
Also used : PModeParty(com.helger.phase4.model.pmode.PModeParty) PMode(com.helger.phase4.model.pmode.PMode) DefaultPMode(com.helger.phase4.model.pmode.DefaultPMode) Nonnull(javax.annotation.Nonnull)

Example 33 with PMode

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());
    }
}
Also used : IPModeManager(com.helger.phase4.model.pmode.IPModeManager) HttpXMLEntity(com.helger.phase4.http.HttpXMLEntity) Document(org.w3c.dom.Document) AS4UserMessage(com.helger.phase4.messaging.domain.AS4UserMessage) PMode(com.helger.phase4.model.pmode.PMode) Test(org.junit.Test)

Example 34 with PMode

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);
}
Also used : PModeLeg(com.helger.phase4.model.pmode.leg.PModeLeg) PMode(com.helger.phase4.model.pmode.PMode) CEFPMode(com.helger.phase4.profile.cef.CEFPMode) Before(org.junit.Before)

Aggregations

Nonnull (javax.annotation.Nonnull)17 PModeLeg (com.helger.phase4.model.pmode.leg.PModeLeg)15 PMode (com.helger.phase4.model.pmode.PMode)13 Document (org.w3c.dom.Document)9 IPMode (com.helger.phase4.model.pmode.IPMode)8 CommonsArrayList (com.helger.commons.collection.impl.CommonsArrayList)6 Test (org.junit.Test)6 EAS4CompressionMode (com.helger.phase4.attachment.EAS4CompressionMode)5 Ebms3Property (com.helger.phase4.ebms3header.Ebms3Property)5 Ebms3UserMessage (com.helger.phase4.ebms3header.Ebms3UserMessage)5 EMEP (com.helger.phase4.model.EMEP)5 EMEPBinding (com.helger.phase4.model.EMEPBinding)5 PModeParty (com.helger.phase4.model.pmode.PModeParty)5 Phase4Exception (com.helger.phase4.util.Phase4Exception)5 AS4DecompressException (com.helger.phase4.attachment.AS4DecompressException)4 WSS4JAttachment (com.helger.phase4.attachment.WSS4JAttachment)4 Ebms3Error (com.helger.phase4.ebms3header.Ebms3Error)4 HttpXMLEntity (com.helger.phase4.http.HttpXMLEntity)4 IOException (java.io.IOException)4 Nullable (javax.annotation.Nullable)4