Я пытаюсь сохранить некоторые детали в центре политики.Я получаю эти данные из биллингового центра и сразу пытаюсь сохранить их, но это дает мне исключение.
Я вызвал функцию IssuePolicyPeriod в billingAPI и возвратил некоторые значения, и мне нужно сохранить это в Центре политик.
Исключение: Исключительная ситуация при сохранении комиссии detais: java.lang.RuntimeException: com.guidewire.pl.system.exception.TransactionException: commitBundle не должен вызываться в транзакции.
Код / ** * Выдача периода политики в Биллинг-центре * @param period: период политики * @param TransactionsID: уникальный идентификатор транзакции, чтобы сделать этот вызов идемпотентным* /
переопределить функцию createPolicyPeriod (period: PolicyPeriod, TransactionsID: String): String {var issuePolicyInfo = new IssuePolicyInfo () issuePolicyInfo.sync (period) PCLoggerCategory.BILLING_SYSTEM_PLUGIN.info ("Отправка политики {$"Биллинговая система ")
var commissionList = callUpdate(\ b -> b.issuePolicyPeriod(issuePolicyInfo, transactionID))
gw.transaction.Transaction.runWithNewBundle(\ bundle -> {
var commission = new CommissionDetails()
bundle.add(commission)
commission.Commission_SI = new BigDecimal( commissionList.get(1))
commission.CommissionGST_SI = new BigDecimal(commissionList.get(2))
commission.CommissionRate_SI = commissionList.get(3).toString()
})
return commissionList.get(0)
}
Я звоню issuePolicyPeriod () с ПК, используя BillingAPI и возвращая комиссионные данные из BC и пытаясь немедленно сохранить их в ПК.
Привет, спасибо за ваш ответ.Я попробовал приведенный выше код, но он не сохраняет в сущности и не дает никаких исключений.Я сомневаюсь, что текущий комплект будет еще доступен?потому что здесь мы звоним в биллинговый центр и не знаем, когда ответит BC.в вызовах веб-службы будет проводник удерживать текущий пакет, пока ответ не вернется?Когда guidewire фиксирует текущий пакет в вызовах веб-службы?