Невозможно установить код ошибки мыла
Я пытаюсь создать SOAPFaultException с пользовательской информацией.
На данный момент я могу установить пользовательскую faultString, но хотя я устанавливаю код ошибки по умолчанию, этот код не отличается от исходного SOAP-ENV: Код ошибки сервера.
Мой код Java:
try {
QName qName = new QName("namespaceURI", "B2B0001");
SOAPFault soapFault = SOAPFactory.newInstance(SOAPConstants.SOAP_1_1_PROTOCOL).createFault(faultString, qName);
throw new SOAPFaultException(soapFault);
} catch (SOAPException e) {
e.printStackTrace();
}
Вывод в soapUI:
<SOAP-ENV:Envelope xmlns:SOAP-
ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>**SOAP-ENV:Server**</faultcode>
<faultstring xml:lang="en">cvc-complex-type.2.4.b: The content of element 'ns2:ClaimHeaderFinancial' is not complete. One of '{"http://schemas.phisc.org.za/draft/claim":SubmittedTotalDiscount, "http://schemas.phisc.org.za/draft/claim":SubmittedBillingEventDiscount}' is expected.</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Я также понял, что в моих модульных тестах код ошибки отображается правильно.