Я новичок в интеграции с веб-сервисами, использующими XML и Soap, и у меня возникают трудности при разработке моего запроса с использованием спецификаций безопасности.
Согласно документации по интеграции, заявка должна содержать следующие спецификации безопасности:
Мой 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()));
}
Задача ещё не решена.
Других решений пока нет …