Привет, Рич, причина, по которой тебе показывают форму вместо ожидаемых результатов, заключается в том, что шаблон «valid.jsp» ожидает, что у тебя будет действительный сеанс, когда ты нажмешь его, чтобы просмотреть результаты. не поддерживает состояние самостоятельно, поэтому может помочь такой проект, как CFHttpSession.cfc Бена Наделя. CFHttpSession будет управлять файлами cookie (и, следовательно, сеансом) между вызовами , интерпретируя результаты заголовка Set-Cookie и добавляя их обратно при последующих вызовах.
Еще одна вещь, которую я заметил при просмотре заголовков ответа сервера, состояла в том, что cookie-файл сеанса (jsessionId) был установлен в «безопасный». Это означает, что cookie может использоваться только защищенными соединениями. У меня не настроен SSL в моей тестовой среде, поэтому мои попытки использовать объект Бена не увенчались успехом, но я думаю, что есть хорошие шансы на то, что он сработает, если вы сможете провести тестирование при подключении SSL.
Вот простой тест, который я сделал, используя проект Бена:
<!--- CFHttpSession does not follow redirects, this is why two calls are needed --->
<cfset objHttpSession = CreateObject("component","CFHTTPSession").Init() />
<cfset objResponse = objHttpSession.NewRequest( "https://testefile.boe.ca.gov/boewebservices/servlet/BOEVerification" )
.AddFormField( "type", "SALES" )
.AddFormField( "account", 10003 )
.AddFormField( "Submit", "Submit+Request" )
.Post()/>
<cfset objResponse = objHttpSession
.NewRequest( "https://testefile.boe.ca.gov/boewebservices/verification.jsp" )
.get() />
<cfoutput>#objResponse.filecontent#</cfoutput>
** Может также потребоваться сделать еще один http-вызов перед другими, чтобы установить сеанс перед вашим сообщением.