XSL: невозможно преобразовать аргумент / тип возврата при вызове метода

У меня есть XSL-файл, который я пытаюсь сгенерировать в своем приложении.

Код выглядит так:

TransformerFactory factory = TransformerFactory.newInstance();
Source styleSheetLoc = new ResourceSource(styleSheetLocation);
Templates t = factory.newTemplates(styleSheetLoc);  // <<< throwing the Exception       
return t.newTransformer();

Исключение составляет:

ERROR:  'Cannot find external method 'com.am.caretalks.util.XsltUtils.getResourceString' (must be public).'

FATAL ERROR:  'Cannot convert argument/return type in call to method 'com.am.caretalks.util.XsltUtils.getResourceString(node-set, node-set, int)''

javax.xml.transform.TransformerConfigurationException: Cannot convert argument/return type in call to method 'com.am.caretalks.util.XsltUtils.getResourceString(node-set, node-set, int)'

    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:990)

    at com.am.caretalks.sendreport.CreatePDF.buildTransformer(CreatePDF.java:1147)

    at com.am.caretalks.sendreport.CreatePDF.createProviderEngagementPDF(CreatePDF.java:608)

    at com.am.caretalks.sendreport.CreatePDF.createProviderEngagementPDF(CreatePDF.java:586)

    at com.am.caretalks.admin.EngagementReportExportServiceImpl.exportAndUpload(EngagementReportExportServiceImpl.java:131)

    at com.am.caretalks.admin.EngagementReportExportServiceImpl$$FastClassBySpringCGLIB$$38327504.invoke(<generated>)

РЕДАКТИРОВАТЬ: это вызываемая функция из открытого статического String getResourceString файла XSL (final String messageKey, final String locale, final String customerIndex) { .,

}

Я искал в Интернете и нашел решение, которое говорит мне использовать только объекты (не примитивы) при вызове функции из моего XSL-файла в мой код Java, и из-за этого я получаю эти ошибки, но здесь мне ничего не помогло,

Большая проблема здесь в том, что я не понимаю, в чем заключается ошибка и как ее устранить, что мне нужно делать в соответствии с выданным Исключением?

Любые другие предложения по решению этой проблемы приветствуются

1 ответ

Сообщение об ошибке говорит о том, что вы передаете несоответствующие аргументы функции. Похоже, что метод ожидает (строка, строка, строка), и вы передаете (набор-нод, набор-нод, int). Я плохо знаю Xalan, но попробуйте выполнить явное преобразование предоставленных аргументов в требуемый тип, вызвав number () или string().

Другие вопросы по тегам