Coldfusion RESTful API, ошибка сопоставления не найдена

На это не должно быть слишком сложно ответить, но обсуждения и документация, которые я нашел, могут быть довольно неясными.

Прежде всего, немного информации о моей настройке:

Я нахожусь в размещенной среде, и прохождение через нашу группу администраторов ColdFusion может занять много времени. Поэтому я использую функцию restInitApplication для регистрации моего веб-сервиса RESTful.

Моя папка webroot (где находится мой Application.cfm) находится в "E:\docs\wwwroot". Я могу только видеть, добавлять, редактировать папки / файлы с wwwroot down. Я понятия не имею, что находится в "e:\docs". Я полагаю, что выше, где я не вижу, есть еще один Application.cfm, который устанавливает такие вещи, как serverType (разработка, подготовка или производство), который мы (и другие сайты ColdFusion, размещенные на этом сервере) используем в разных местах в нашем приложении код.

Мой pdfRestfulAPI.cfc (компонент, содержащий мою функцию веб-сервиса) находится в этой папке "e:\docs\wwwroot\RESTservices". Мой код компонента выглядит так:

<cfcomponent rest="true"   > 
    <cffunction name="pdfconvert" access="remote" returntype="binary" 
           output="false"  produces="application/xml" method="get" >  

        <cfargument name="sourceWebPageURL" type="string" > 
            <cfset pdfDoc = "" >  
            <cfdocument name="pdfDoc" 
                  format="PDF" 
                  src="#sourceWebPageURL#" 
                  saveAsName="sample.pdf" >
            </cfdocument>  
            <cfreturn #pdfDoc#>
    </cffunction>
</cfcomponent>

Сама функция не проблема. Он просто конвертирует веб-страницу в pdf - передайте URL, получите PDF-версию этой веб-страницы. Когда я настраиваю его как API без RESTful (SOAP/xml), он работает просто отлично.

В моем Application.cfm я пытаюсь зарегистрировать свой веб-сервис, используя следующий код:

<cfset restInitApplication( getDirectoryFromPath(getCurrentTemplatePath()) 
              & "RESTservices" ) >

Это дает мне атрибут dir_path для "E:\docs\wwwroot\RESTservices", который мне кажется правильным. Я опустил необязательный атрибут mapping_name. Когда в документации говорится, что это "может быть что угодно", это не помогает.

Ошибка, которую я получаю в своем Application.cfm, гласит:

coldfusion.rest.RestAppAdapter $ InvalidApplicationException: не найдено сопоставление для пути E: \ docs \ wwwroot \ RESTservices

Надеюсь, я изложил детали таким образом, чтобы любой мог попробовать это и сообщить мне, что я делаю неправильно.

Спасибо всем!

0 ответов

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