Ошибка неправильно сформированной коллекции
Переходя от первой проблемы, о которой я сообщил здесь: Выполнение команды ОС с использованием apache-ant для конфигурации IIS
Я пытаюсь запустить вторую часть конфигурации IIS.
<exec executable="cmd.exe" dir="C:/Windows/System32/inetsrv"
failonerror="true">
<arg line="/c appcmd set config /section:handlers
/[name='ExtensionlessUrlHandler-Integrated-
4.0'].verb:GET,POST,PUT,DELETE,OPTIONS,CONNECT"/>
</exec>
У меня нет двойных кавычек в этой строке, и я использую апос; чтобы указать мои одинарные кавычки. Однако я получаю следующую ошибку, которую пытаюсь найти объяснение:
confIIS:
[echo] Configuring IIS
[exec] ERROR ( message:Malformed collection indexer; format is
[@position,name='value',name2='value2',...]. The @position specifier is
optional, and be '@start', '@end', or
@N' where N is a numeric index into the collection. )
Быстрое обновление: я пробовал котировки dbl, но не повезло. Я сделал еще несколько копаний, и проблема в том, что одиночные кавычки отбрасываются. Если я запускаю строку cmd в командной строке DOS без одинарных кавычек, она завершается таким же образом. cmd line:
appcmd set config /section:handlers /[name='ExtensionlessUrlHandler-
Integrated-4.0'].verb:GET
Вывод сценария Ant (отладка)
[exec] 'appcmd'
[exec] 'set'
[exec] 'config'
[exec] '/section:handlers'
[exec] '/[name=ExtensionlessUrlHandler-Integrated-
4.0].verb:GET,POST,PUT,DELETE,OPTIONS,CONNECT'
[exec]
[exec] The ' characters around the executable and arguments are
[exec] not part of the command.
ute:Java13CommandLauncher: Executing 'cmd.exe' with arguments: