XSL: невозможно преобразовать аргумент / тип возврата при вызове метода - PullRequest
0 голосов
/ 25 ноября 2018

Я получил 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 Ответ

0 голосов
/ 26 ноября 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...