Спасибо за подробный вопрос.
Похоже, вы действительно обнаружили ошибку в одном из косвенно потребляемых компонентов, связанных с SAP Cloud SDK. Я создал инцидент (# 1970496164) в системе продажи билетов. Непонятно, когда именно это NullPointerException будет исправлено, надеюсь, в одной из следующих будущих версий.
А пока я бы предложил использовать Try API библиотеки VAVR в качестве обходного пути - для обработки ошибки во время выполнения.
import io.vavr.control.Try;
// ...
@Nonnull
HeaderCDSForPRForGuidedBuying requisitionHeader;
@Nullable
GuidedProcurementDeliveryAddressAtHeader requisitionHeaderAddress;
// tolerant error handling
requisitionHeaderAddress = Try.of(requisitionHeader::getGuidedProcmtReqnDelivAddrOrFetch).getOrNull();
return S4ToGBServiceMapper.mapToRequisitionHeader(requisitionHeader, requisitionHeaderAddress);
(при условии, что ваш метод mapToRequisitionHeader
ожидает, что второй параметр будет @Nullable
)
Добавьте зависимостьна ваш счет:
<dependency>
<groupId>io.vavr</groupId>
<artifactId>vavr</artifactId>
<version>0.10.2</version>
</dependency>
В качестве альтернативы моему предложению, вы можете просто использовать громоздкий блок try-catch, конечно.