Hallo,
ich bastel gerade eine Erweiterung bei dem der User einen Antrag stellen soll und sich anschließend über das PostIdent Portal identifizieren soll. Dazu muss ein Vorgang über Soap im PostIdent Portal angelegt werden, und wenn es gut geht der Benutzer dort hin geleitet werden.
Im Actioncontroller sieht diese Initialisierung über den SoapClient dann etwas so aus.
$this->soapHeader = $this->objectManager->get('MartinGiesen\\Sutorantragsstrecke\\Utility\\MsSoapHeader', $pass, $user );
$options = array(
'soap_version'=>SOAP_1_1,
'exceptions'=>true,
'trace'=>1,
'cache_wsdl'=>WSDL_CACHE_NONE,
"exception" => 1,
);
$this->soapClient = new \SoapClient('https://postident.deutschepost.de/eservice/services/auftraggeberservice?wsdl', $options);
$this->soapClient->__setSoapHeaders($this->soapHeader);
try{
$response = $this->soapClient->__soapCall('starteIdentifizierungsvorgang' ,array($StarteIdentifizierungsvorgangRequestTyp), NULL , NULL, $OutputHeader );
} catch (SoapFault $sf) {
$response = array($sf->faultstring, $this->getXMLformSoap( $this->soapClient->__getLastResponse() ) );
}
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($response, 'Soap Response');
Das klappt im Idealfall auch. Jetzt kommt erst das eigendlich Problem.
Wenn der SoapClient eine Exception wirft, kommt direkt der Oops Screenm it der Meldung aus $sf->faultstring. Die Debug Ausgabe unter wird z.B. schon nicht mehr ausgeführt.
Wie kann ich das abfangen und mit einem eigenen Handling weiter arbeiten.
Viele Dank
Martin