Как сделать запрос на мыло со спецификациями безопасности - PullRequest
0 голосов
/ 14 октября 2018

Я новичок в интеграции с веб-сервисами, использующими XML и Soap, и у меня возникают трудности при разработке моего запроса с использованием спецификаций безопасности.

Согласно документации по интеграции, заявка должна содержать следующие спецификации безопасности:

Цифровая подпись

Криптография

  • Алгоритм симметричного кодирования: 3DES-CBC
  • Алгоритм передачи ключей: RSA-OAEP
  • Открытый ключ получателя, переданный через IssuerSerial
  • Цель шифрования:

Мой SSL-сертификат: https://www.ssllabs.com/ssltest/analyze.html?d=www.apasp.net.br

Ниже приведен мой текущий запрос на мыло:

$xmlRequest = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:w="http://www.cip-bancos.org.br/ARQ/WSCC011.xsd" xmlns:s="http://www.cip-bancos.org.br/ARQ/ASCC011.xsd" xmlns:wt="http://www.cip-bancos.org.br/schemas/WSTIPOS.xsd">
                <soapenv:Header>
                </soapenv:Header>
                <soapenv:Body>
                <w:WSCC011Request>
                    <w:CabecalhoReq>
                        <wt:NumCtrlEmis></wt:NumCtrlEmis>
                        <wt:ISPBEmissor></wt:ISPBEmissor>
                        <wt:ISPBDestinatario></wt:ISPBDestinatario>
                        <wt:DtHrEmis></wt:DtHrEmis>
                        <wt:DtRef></wt:DtRef>
                        <wt:DomSis></wt:DomSis>
                        <wt:NUop></wt:NUop>
                    </w:CabecalhoReq>
                    <w:Corpo>
                        <w:ASCC011>
                            <s:Grupo_ASCC011_Consigrio>
                                <IdentdPartAdmdo></IdentdPartAdmdo>
                                <NumCtrlConsigrio></NumCtrlConsigrio>
                                <CNPJBaseEnte></CNPJBaseEnte>
                                <NumConsigrioEnte></NumConsigrioEnte>
                                <NumDigtConsigrioEnte></NumDigtConsigrioEnte>
                                <Grupo_ASCC011_Consignc>
                                    <NumCPFServdr></NumCPFServdr>
                                    <IdentcServdr></IdentcServdr>
                                    <IdentcOrgao></IdentcOrgao>
                                    <CNPJBaseOrgaoPagdr></CNPJBaseOrgaoPagdr>
                                    <IdentcEsp></IdentcEsp>
                                    <TpParcmnt></TpParcmnt>
                                    <QtdTotParcl></QtdTotParcl>
                                    <DiaVencParcl></DiaVencParcl>
                                    <DtIniAvebc></DtIniAvebc>
                                    <DtFimAvebc></DtFimAvebc>
                                    <VlrParcl></VlrParcl>
                                    <VlrTotAvebc></VlrTotAvebc>
                                    <NumOpConsigncConsigrio></NumOpConsigncConsigrio>
                                </Grupo_ASCC011_Consignc>
                            </s:Grupo_ASCC011_Consigrio>
                        </w:ASCC011>
                    </w:Corpo>
                </w:WSCC011Request>
                </soapenv:Body>
                </soapenv:Envelope>';
        try {
            $client = new SoapClient('https://www.hext.portaldoconsignado.org.br/ws/WSCC011', array('trace' => 1));
            $soapBody = new \SoapVar($xmlRequest, \XSD_ANYXML);
            $return = $client->__soapCall('WSCC011', array());

            echo '<pre>' . var_export($return, true) . '<pre>';
        } catch(Exception $e) {
            echo(htmlentities($client->__getLastResponse()));
        }
...