Search in sources :

Example 1 with MSSSignatureReq

use of fi.laverca.jaxb.mss.MSSSignatureReq in project laverca by laverca.

the class MssClient method createSignatureRequest.

/**
 * Creates a signature request.
 *
 * @param apTransId AP Transaction ID - not null.
 * @param msisdn MSISDN of the mobile user - not null.
 * @param dtbs Data to be Signed - not null.
 * @param dataToBeDisplayed Data to be displayed - may be null.
 * @param signatureProfile Signature profile to use - not null.
 * @param mss_format MSS_Format to use - not null.
 * @param messagingMode Messaging mode to use - not null.
 * @return Created signature request
 */
public MSSSignatureReq createSignatureRequest(final String apTransId, final String msisdn, final DTBS dtbs, final String dataToBeDisplayed, final String signatureProfile, final String mss_format, final MessagingModeType messagingMode) {
    if (msisdn == null)
        throw new IllegalArgumentException("Invalid MSISDN (null)");
    if (dtbs == null)
        throw new IllegalArgumentException("Invalid DTBS (null)");
    if (signatureProfile == null)
        throw new IllegalArgumentException("Invalid SignatureProfile (null)");
    if (messagingMode == null)
        throw new IllegalArgumentException("Invalid MessagingMode (null)");
    final MSSSignatureReq req = mssObjFactory.createMSSSignatureReq();
    this.initializeRequestMessage(req, apTransId);
    MobileUserType muObject = mssObjFactory.createMobileUserType();
    muObject.setMSISDN(msisdn);
    req.setMobileUser(muObject);
    final DataType dsObject = dtbs.toDataToBeSigned();
    req.setDataToBeSigned(dsObject);
    if (dataToBeDisplayed != null) {
        final DataType ddObject = mssObjFactory.createDataType();
        ddObject.setValue(dataToBeDisplayed);
        req.setDataToBeDisplayed(ddObject);
    }
    final MssURIType spObject = mssObjFactory.createMssURIType();
    spObject.setMssURI(signatureProfile);
    req.setSignatureProfile(spObject);
    if (mss_format != null) {
        MssURIType mfObject = mssObjFactory.createMssURIType();
        mfObject.setMssURI(mss_format);
        req.setMSSFormat(mfObject);
    }
    req.setMessagingMode(messagingMode);
    req.setAdditionalServices(MssClient.mssObjFactory.createMSSSignatureReqAdditionalServices());
    return req;
}
Also used : DataType(fi.laverca.jaxb.mss.DataType) MSSSignatureReq(fi.laverca.jaxb.mss.MSSSignatureReq) MssURIType(fi.laverca.jaxb.mss.MssURIType) MobileUserType(fi.laverca.jaxb.mss.MobileUserType)

Example 2 with MSSSignatureReq

use of fi.laverca.jaxb.mss.MSSSignatureReq in project laverca by laverca.

the class MssClient method sendMat.

/**
 * Sends an MSS request.
 *
 * @param req Abstract request type
 * @param context Context
 * @param security WSSE security headers
 * @throws IOException if a HTTP communication error occurred i.e. a SOAP fault was generated by the <i>local</i> SOAP client stub.
 */
private MessageAbstractType sendMat(final MessageAbstractType req, final LavercaContext context, final Security security) throws AxisFault, IOException {
    AbstractSoapBindingStub port = null;
    try {
        Long timeout = null;
        if (req instanceof MSSSignatureReq) {
            timeout = ((MSSSignatureReq) req).getTimeOut();
            port = (MSS_SignatureBindingStub) this.mssService.getMSS_SignaturePort(this.MSSP_SI_URL);
        } else if (req instanceof MSSReceiptReq) {
            port = (MSS_ReceiptBindingStub) this.mssService.getMSS_ReceiptPort(this.MSSP_RC_URL);
        } else if (req instanceof MSSHandshakeReq) {
            port = (MSS_HandshakeBindingStub) this.mssService.getMSS_HandshakePort(this.MSSP_HS_URL);
        } else if (req instanceof MSSStatusReq) {
            port = (MSS_StatusQueryBindingStub) this.mssService.getMSS_StatusQueryPort(this.MSSP_ST_URL);
        } else if (req instanceof MSSProfileReq) {
            port = (MSS_ProfileQueryBindingStub) this.mssService.getMSS_ProfileQueryPort(this.MSSP_PR_URL);
        } else if (req instanceof MSSRegistrationReq) {
            port = (MSS_RegistrationBindingStub) this.mssService.getMSS_RegistrationPort(this.MSSP_RG_URL);
        }
        if (port == null) {
            throw new IOException("Invalid request type");
        }
        if (timeout != null) {
            // ETSI TS 102 204 defines TimeOut in seconds instead of milliseconds
            port.setTimeout(timeout.intValue() * 1000);
        }
    } catch (ServiceException se) {
        log.error("Failed to get port: " + se.getMessage());
        throw new IOException(se.getMessage());
    }
    try {
        if (port._getCall() == null) {
            port._createCall();
        }
    } catch (Exception e) {
        log.fatal("Could not do port._createCall()", e);
    }
    // Set tools for each context.
    port.setProperty(ComponentsHTTPSender.HTTPCLIENT_INSTANCE, this.getHttpClient());
    LavercaSSLTrustManager.getInstance().setExpectedServerCerts(this.expectedServerCerts);
    MessageAbstractType resp = null;
    if (port instanceof MSS_SignatureBindingStub) {
        resp = ((MSS_SignatureBindingStub) port).MSS_Signature((MSSSignatureReq) req);
    } else if (port instanceof MSS_StatusQueryBindingStub) {
        resp = ((MSS_StatusQueryBindingStub) port).MSS_StatusQuery((MSSStatusReq) req);
    } else if (port instanceof MSS_ReceiptBindingStub) {
        resp = ((MSS_ReceiptBindingStub) port).MSS_Receipt((MSSReceiptReq) req);
    } else if (port instanceof MSS_HandshakeBindingStub) {
        resp = ((MSS_HandshakeBindingStub) port).MSS_Handshake((MSSHandshakeReq) req);
    } else if (port instanceof MSS_ProfileQueryBindingStub) {
        resp = ((MSS_ProfileQueryBindingStub) port).MSS_ProfileQuery((MSSProfileReq) req);
    } else if (port instanceof MSS_RegistrationBindingStub) {
        resp = ((MSS_RegistrationBindingStub) port).MSS_Registration((MSSRegistrationReq) req, security);
    } else {
        throw new IOException("Invalid call parameters");
    }
    if (context != null) {
        try {
            context.setMessageContext(port.getMessageContext());
        } catch (ServiceException e) {
            log.warn("Unable to pass context", e);
        }
    }
    return resp;
}
Also used : MSSProfileReq(fi.laverca.jaxb.mss.MSSProfileReq) MSSRegistrationReq(fi.laverca.jaxb.mss.MSSRegistrationReq) MSS_ReceiptBindingStub(fi.laverca.mss.ws.MSS_ReceiptBindingStub) MSSHandshakeReq(fi.laverca.jaxb.mss.MSSHandshakeReq) MSS_ProfileQueryBindingStub(fi.laverca.mss.ws.MSS_ProfileQueryBindingStub) MSS_StatusQueryBindingStub(fi.laverca.mss.ws.MSS_StatusQueryBindingStub) IOException(java.io.IOException) MSSSignatureReq(fi.laverca.jaxb.mss.MSSSignatureReq) MSSStatusReq(fi.laverca.jaxb.mss.MSSStatusReq) MSS_RegistrationBindingStub(fi.laverca.mss.ws.MSS_RegistrationBindingStub) GeneralSecurityException(java.security.GeneralSecurityException) ServiceException(javax.xml.rpc.ServiceException) MalformedURLException(java.net.MalformedURLException) IOException(java.io.IOException) MSS_HandshakeBindingStub(fi.laverca.mss.ws.MSS_HandshakeBindingStub) ServiceException(javax.xml.rpc.ServiceException) MSS_SignatureBindingStub(fi.laverca.mss.ws.MSS_SignatureBindingStub) MSSReceiptReq(fi.laverca.jaxb.mss.MSSReceiptReq) MessageAbstractType(fi.laverca.jaxb.mss.MessageAbstractType) AbstractSoapBindingStub(fi.laverca.util.AbstractSoapBindingStub)

Example 3 with MSSSignatureReq

use of fi.laverca.jaxb.mss.MSSSignatureReq in project laverca by laverca.

the class EtsiClient method createRequest.

/**
 * Create an EtsiRequest instance
 * @param apTransId AP Transaction ID
 * @param dtbd Data to be displayed
 * @param dtbs Data to be signed
 * @param msisdn MSISDN of the target user
 * @param additionalServices List of FiCom additionalservices to add to the request
 * @param signatureProfile Signature profile to use
 * @param mssFormat MSS Format to use.
 * @param messagingMode Messaging mode to use
 * @return Created request
 */
public EtsiRequest createRequest(final String apTransId, final String msisdn, final DTBS dtbs, final String dtbd, final List<AdditionalServiceType> additionalServices, final String signatureProfile, final String mssFormat, final MessagingModeType messagingMode) {
    final EtsiRequest req = new EtsiRequest();
    final MSSSignatureReq sigReq = this.mssClient.createSignatureRequest(apTransId, msisdn, dtbs, dtbd, signatureProfile, mssFormat, messagingMode);
    req.sigReq = sigReq;
    final List<AdditionalServiceType> as = sigReq.getAdditionalServices().getServices();
    if (additionalServices != null) {
        for (AdditionalServiceType s : additionalServices) {
            if (s != null) {
                as.add(s);
            }
        }
    }
    return req;
}
Also used : AdditionalServiceType(fi.laverca.jaxb.mss.AdditionalServiceType) MSSSignatureReq(fi.laverca.jaxb.mss.MSSSignatureReq)

Example 4 with MSSSignatureReq

use of fi.laverca.jaxb.mss.MSSSignatureReq in project laverca by laverca.

the class FiComClient method createRequest.

/**
 * Create an EtsiRequest instance
 * @param apTransId AP Transaction ID
 * @param dtbs Data to be signed
 * @param msisdn MSISDN of the target user
 * @param noSpamService Service for sending nospam code
 * @param eventIDService Service containing the wanted EventId for the request
 * @param additionalServices List of FiCom additionalservices to add to the request
 * @param signatureProfile Signature profile to use
 * @param mssFormat MSS Format to use.
 * @return created FiComRequest
 */
public FiComRequest createRequest(final String apTransId, final DTBS dtbs, final String msisdn, final AdditionalServiceType noSpamService, final AdditionalServiceType eventIDService, final List<AdditionalServiceType> additionalServices, final String signatureProfile, final String mssFormat) {
    final FiComRequest req = new FiComRequest();
    String dataToBeDisplayed = null;
    MessagingModeType messagingMode = MessagingModeType.ASYNCH_CLIENT_SERVER;
    final MSSSignatureReq sigReq = this.mssClient.createSignatureRequest(apTransId, msisdn, dtbs, dataToBeDisplayed, signatureProfile, mssFormat, messagingMode);
    req.sigReq = sigReq;
    final List<AdditionalServiceType> as = sigReq.getAdditionalServices().getServices();
    if (noSpamService != null)
        as.add(noSpamService);
    if (eventIDService != null)
        as.add(eventIDService);
    if (additionalServices != null) {
        for (final AdditionalServiceType s : additionalServices) {
            if (s != null) {
                as.add(s);
            }
        }
    }
    return req;
}
Also used : MessagingModeType(fi.laverca.jaxb.mss.MessagingModeType) AdditionalServiceType(fi.laverca.jaxb.mss.AdditionalServiceType) MSSSignatureReq(fi.laverca.jaxb.mss.MSSSignatureReq)

Example 5 with MSSSignatureReq

use of fi.laverca.jaxb.mss.MSSSignatureReq in project laverca by laverca.

the class SwisscomClient method createRequest.

/**
 * Create a SwisscomRequest instance
 *
 * @param apTransId AP Transaction ID
 * @param dtbs Data to be signed
 * @param msisdn MSISDN (phone number in international format) of the target user
 * @param userLangService Additional Service for selecting user language
 * @param additionalServices List of additionalservices to add to the request
 * @param signatureProfile Signature profile to use
 * @param mssFormat MSS Format to use.
 * @return created SwisscomRequest
 */
public SwisscomRequest createRequest(final String apTransId, final DTBS dtbs, final String msisdn, final AdditionalServiceType userLangService, final List<AdditionalServiceType> additionalServices, final String signatureProfile, final String mssFormat) {
    final SwisscomRequest req = new SwisscomRequest();
    String dataToBeDisplayed = null;
    MessagingModeType messagingMode = MessagingModeType.ASYNCH_CLIENT_SERVER;
    final MSSSignatureReq sigReq = this.mssClient.createSignatureRequest(apTransId, msisdn, dtbs, dataToBeDisplayed, signatureProfile, mssFormat, messagingMode);
    req.sigReq = sigReq;
    final List<AdditionalServiceType> as = sigReq.getAdditionalServices().getServices();
    if (userLangService != null) {
        as.add(userLangService);
    }
    if (additionalServices != null) {
        for (final AdditionalServiceType s : additionalServices) {
            if (s != null) {
                as.add(s);
            }
        }
    }
    return req;
}
Also used : MessagingModeType(fi.laverca.jaxb.mss.MessagingModeType) AdditionalServiceType(fi.laverca.jaxb.mss.AdditionalServiceType) MSSSignatureReq(fi.laverca.jaxb.mss.MSSSignatureReq)

Aggregations

MSSSignatureReq (fi.laverca.jaxb.mss.MSSSignatureReq)5 AdditionalServiceType (fi.laverca.jaxb.mss.AdditionalServiceType)3 MessagingModeType (fi.laverca.jaxb.mss.MessagingModeType)2 DataType (fi.laverca.jaxb.mss.DataType)1 MSSHandshakeReq (fi.laverca.jaxb.mss.MSSHandshakeReq)1 MSSProfileReq (fi.laverca.jaxb.mss.MSSProfileReq)1 MSSReceiptReq (fi.laverca.jaxb.mss.MSSReceiptReq)1 MSSRegistrationReq (fi.laverca.jaxb.mss.MSSRegistrationReq)1 MSSStatusReq (fi.laverca.jaxb.mss.MSSStatusReq)1 MessageAbstractType (fi.laverca.jaxb.mss.MessageAbstractType)1 MobileUserType (fi.laverca.jaxb.mss.MobileUserType)1 MssURIType (fi.laverca.jaxb.mss.MssURIType)1 MSS_HandshakeBindingStub (fi.laverca.mss.ws.MSS_HandshakeBindingStub)1 MSS_ProfileQueryBindingStub (fi.laverca.mss.ws.MSS_ProfileQueryBindingStub)1 MSS_ReceiptBindingStub (fi.laverca.mss.ws.MSS_ReceiptBindingStub)1 MSS_RegistrationBindingStub (fi.laverca.mss.ws.MSS_RegistrationBindingStub)1 MSS_SignatureBindingStub (fi.laverca.mss.ws.MSS_SignatureBindingStub)1 MSS_StatusQueryBindingStub (fi.laverca.mss.ws.MSS_StatusQueryBindingStub)1 AbstractSoapBindingStub (fi.laverca.util.AbstractSoapBindingStub)1 IOException (java.io.IOException)1