[Seaside] VW cgi interface

David Pennell dpennell at quallaby.com
Sat Mar 20 22:44:12 CET 2004


Brett Taylor wrote:

>Has anyone successfully used Seaside or Visualworks 7.2 with Apache and
>the CGI i/f (WaveIPRequestBroker)?  I'm encountering walkbacks in the
>method SeasideServlet>>doGet:response:. Seaside works fine for me using
>the WaveHTTPRequestBroker in VW. 
>  
>
Brett - did you ever get an answer to this?  I'm currently the VW port 
maintainer, but I haven't been following this list as closely as I 
should.  I haven't tried the combination you describe.

>Thanks,
>Brett Taylor
>
>Stack Trace follows:
>
>Unhandled exception: BlockClosure [] in Object>>doesNotUnderstand:
>ISO8859L1String(Object)>>doesNotUnderstand:
>Seaside.SeasideServlet>>doGet:response:
>Seaside.SeasideServlet(VisualWave.HttpServlet)>>service:response:
>VisualWave.ServletHandler>>basicEvaluate
>optimized [] in VisualWave.WWHandler>>evaluate
>BlockClosure>>on:do:
>VisualWave.ServletHandler(VisualWave.WWHandler)>>evaluate
>VisualWave.ServletHandler>>sendEntityOver:
>VisualWave.ServletHandler(VisualWave.WWHandler)>>sendCGIOver:for:
>optimized [] in VisualWave.WebRequest>>answerWith:
>BlockClosure>>on:do:
>VisualWave.WebRequest>>answerWith:
>VisualWave.WebRequestService>>privateDispatchRequest:
>VisualWave.WebRequestService>>dispatchRequest:
>VisualWave.WebRequestService>>privateServe:
>optimized [] in VisualWave.WebRequestService>>serveMarshaller:
>BlockClosure>>on:do:
>VisualWave.WebRequestService>>serveMarshaller:
>VisualWave.WaveMarshaler>>handleIncomingMessageOn:
>optimized [] in [] in VisualWave.WaveTransport>>handlingIncomingMessage
>BlockClosure>>ensure:
>optimized [] in VisualWave.WaveTransport>>handlingIncomingMessage
>BlockClosure>>on:do:
>VisualWave.WaveTransport>>handlingIncomingMessage
>VisualWave.WaveTransport>>serverProcessBody
>optimized [] in Transport>>startServerProcess
>BlockClosure>>on:do:
>optimized [] in Process class>>forBlock:priority:
>
>----------------------------------------------------------------------
>ISO8859L1String(Object)>>doesNotUnderstand:
>Receiver:
>	an ISO8859L1String
>Arguments:
>	aMessage = a Message with selector: #path and arguments: #()
>Temporaries:
>	excpt = a MessageNotUnderstood
>	resumeValue = nil
>Context PC = 25
>
>----------------------------------------------------------------------
>Seaside.SeasideServlet>>doGet:response:
>Receiver:
>	a Seaside.SeasideServlet
>Instance Variables:
>	servletConfig = a VisualWave.ServletConfig
>	dispatcherInitialized = true
>Arguments:
>	aRequest = a VisualWave.Request
>	aResponse = a VisualWave.Response
>Temporaries:
>	waRequest = nil
>	waResponse = nil
>	dispatcher = nil
>	handler = nil
>Context PC = 16
>
>----------------------------------------------------------------------
>Seaside.SeasideServlet(VisualWave.HttpServlet)>>service:response:
>Receiver:
>	a Seaside.SeasideServlet
>Instance Variables:
>	servletConfig = a VisualWave.ServletConfig
>	dispatcherInitialized = true
>Arguments:
>	aServletRequest = a VisualWave.Request
>	aServletResponse = a VisualWave.Response
>Temporaries:
>	method = 'GET'
>Context PC = 13
>
>----------------------------------------------------------------------
>VisualWave.ServletHandler>>basicEvaluate
>Receiver:
>	a VisualWave.ServletHandler
>Instance Variables:
>	status = nil
>	reasonString = ''
>	webRequest = a VisualWave.WebRequest
>	webSite = WebSite register
>	server = nil
>	request = a VisualWave.Request
>	response = a VisualWave.Response
>	session = a VisualWave.HttpSession: key=14742032556888673255717667982,
>last accessed (March 3, 2004 8:54:02.000)
>	servletName = 'SeasideServlet'
>	servletClass = nil
>	servlet = a Seaside.SeasideServlet
>Context PC = 7
>
>----------------------------------------------------------------------
>optimized [] in VisualWave.WWHandler>>evaluate
>Receiver:
>	an UndefinedObject
>Temporaries:
>	.self = a VisualWave.ServletHandler
>Context PC = 6
>
>----------------------------------------------------------------------
>BlockClosure>>on:do:
>Receiver:
>	a BlockClosure
>Instance Variables:
>	method = CompiledBlock [] in VisualWave.WWHandler>>evaluate
>	outerContext = nil
>	copiedValues = a VisualWave.ServletHandler
>Arguments:
>	anExceptionSelector = VisualWave.SkipRestOfPageException
>	handlerBlock = BlockClosure [] in VisualWave.WWHandler>>evaluate
>Context PC = 18
>
>----------------------------------------------------------------------
>VisualWave.ServletHandler(VisualWave.WWHandler)>>evaluate
>Receiver:
>	a VisualWave.ServletHandler
>Instance Variables:
>	status = nil
>	reasonString = ''
>	webRequest = a VisualWave.WebRequest
>	webSite = WebSite register
>	server = nil
>	request = a VisualWave.Request
>	response = a VisualWave.Response
>	session = a VisualWave.HttpSession: key=14742032556888673255717667982,
>last accessed (March 3, 2004 8:54:02.000)
>	servletName = 'SeasideServlet'
>	servletClass = nil
>	servlet = a Seaside.SeasideServlet
>Context PC = 12
>
>----------------------------------------------------------------------
>VisualWave.ServletHandler>>sendEntityOver:
>Receiver:
>	a VisualWave.ServletHandler
>Instance Variables:
>	status = nil
>	reasonString = ''
>	webRequest = a VisualWave.WebRequest
>	webSite = WebSite register
>	server = nil
>	request = a VisualWave.Request
>	response = a VisualWave.Response
>	session = a VisualWave.HttpSession: key=14742032556888673255717667982,
>last accessed (March 3, 2004 8:54:02.000)
>	servletName = 'SeasideServlet'
>	servletClass = nil
>	servlet = a Seaside.SeasideServlet
>Arguments:
>	aStream = an ExternalReadAppendStream
>Context PC = 4
>
>----------------------------------------------------------------------
>VisualWave.ServletHandler(VisualWave.WWHandler)>>sendCGIOver:for:
>Receiver:
>	a VisualWave.ServletHandler
>Instance Variables:
>	status = nil
>	reasonString = ''
>	webRequest = a VisualWave.WebRequest
>	webSite = WebSite register
>	server = nil
>	request = a VisualWave.Request
>	response = a VisualWave.Response
>	session = a VisualWave.HttpSession: key=14742032556888673255717667982,
>last accessed (March 3, 2004 8:54:02.000)
>	servletName = 'SeasideServlet'
>	servletClass = nil
>	servlet = a Seaside.SeasideServlet
>Arguments:
>	aStream = an ExternalReadAppendStream
>	aWebRequest = a VisualWave.WebRequest
>Context PC = 5
>
>----------------------------------------------------------------------
>optimized [] in VisualWave.WebRequest>>answerWith:
>Receiver:
>	an UndefinedObject
>Temporaries:
>	.self = a VisualWave.WebRequest
>	.aResponse = a VisualWave.ServletHandler
>Context PC = 26
>
>----------------------------------------------------------------------
>BlockClosure>>on:do:
>Receiver:
>	a BlockClosure
>Instance Variables:
>	method = CompiledBlock [] in VisualWave.WebRequest>>answerWith:
>	outerContext = nil
>	copiedValues = an Array[2]
>Arguments:
>	anExceptionSelector = an ExceptionSet[1]
>	handlerBlock = BlockClosure [] in VisualWave.WebRequest>>answerWith:
>Context PC = 18
>
>----------------------------------------------------------------------
>VisualWave.WebRequest>>answerWith:
>Receiver:
>	a VisualWave.WebRequest
>Instance Variables:
>	httpRequest = nil
>	serverEnvironment = a Dictionary[34]
>	queryData = nil
>	cookieData = a VisualWave.IM_ApplicationWWWFormUrlEncoded
>	responseStream = an ExternalReadAppendStream
>	consumedPath = an OrderedCollection[3]
>	unconsumedPath = an OrderedCollection[3]
>	initiator = a VisualWave.WebRequestService
>	entities = nil
>	webSite = WebSite register
>	session = a VisualWave.HttpSession: key=14742032556888673255717667982,
>last accessed (March 3, 2004 8:54:02.000)
>	isAnswered = false
>Arguments:
>	aResponse = a VisualWave.ServletHandler
>Context PC = 13
>
>----------------------------------------------------------------------
>VisualWave.WebRequestService>>privateDispatchRequest:
>Receiver:
>	a VisualWave.WebRequestService
>Instance Variables:
>	resolver = a VisualWave.PathInfoPrefixResolver
>	server = WaveIPRequestBroker	 active 	localhost:2223
>	trapErrors = false
>	logChannels = a Dictionary[2]
>	logChannelsMutex = a Semaphore[0]
>	loadLogChannel = nil
>Arguments:
>	aWebRequest = a VisualWave.WebRequest
>Temporaries:
>	responder = a VisualWave.WWResponder
>	answer = a VisualWave.ServletHandler
>Context PC = 14
>
>----------------------------------------------------------------------
>VisualWave.WebRequestService>>dispatchRequest:
>Receiver:
>	a VisualWave.WebRequestService
>Instance Variables:
>	resolver = a VisualWave.PathInfoPrefixResolver
>	server = WaveIPRequestBroker	 active 	localhost:2223
>	trapErrors = false
>	logChannels = a Dictionary[2]
>	logChannelsMutex = a Semaphore[0]
>	loadLogChannel = nil
>Arguments:
>	aWebRequest = a VisualWave.WebRequest
>Context PC = 5
>
>----------------------------------------------------------------------
>VisualWave.WebRequestService>>privateServe:
>Receiver:
>	a VisualWave.WebRequestService
>Instance Variables:
>	resolver = a VisualWave.PathInfoPrefixResolver
>	server = WaveIPRequestBroker	 active 	localhost:2223
>	trapErrors = false
>	logChannels = a Dictionary[2]
>	logChannelsMutex = a Semaphore[0]
>	loadLogChannel = nil
>Arguments:
>	aStream = an ExternalReadAppendStream
>Temporaries:
>	answer = nil
>	webHit = a VisualWave.WebHit
>	request = a VisualWave.WebRequest
>Context PC = 49
>
>----------------------------------------------------------------------
>optimized [] in VisualWave.WebRequestService>>serveMarshaller:
>Receiver:
>	an UndefinedObject
>Temporaries:
>	.self = a VisualWave.WebRequestService
>	.stream = an ExternalReadAppendStream
>Context PC = 7
>
>----------------------------------------------------------------------
>BlockClosure>>on:do:
>Receiver:
>	a BlockClosure
>Instance Variables:
>	method = CompiledBlock [] in
>VisualWave.WebRequestService>>serveMarshaller:
>	outerContext = nil
>	copiedValues = an Array[2]
>Arguments:
>	anExceptionSelector = an ExceptionSet[2]
>	handlerBlock = BlockClosure [] in
>VisualWave.WebRequestService>>serveMarshaller:
>Context PC = 18
>
>----------------------------------------------------------------------
>VisualWave.WebRequestService>>serveMarshaller:
>Receiver:
>	a VisualWave.WebRequestService
>Instance Variables:
>	resolver = a VisualWave.PathInfoPrefixResolver
>	server = WaveIPRequestBroker	 active 	localhost:2223
>	trapErrors = false
>	logChannels = a Dictionary[2]
>	logChannelsMutex = a Semaphore[0]
>	loadLogChannel = nil
>Arguments:
>	aWaveMarshaller = a VisualWave.WaveMarshaler
>Temporaries:
>	stream = an ExternalReadAppendStream
>	alreadyHandledOnce = true
>Context PC = 26
>
>----------------------------------------------------------------------
>VisualWave.WaveMarshaler>>handleIncomingMessageOn:
>Receiver:
>	a VisualWave.WaveMarshaler
>Instance Variables:
>	manager = Transport<a VisualWave.WaveTransport
>	configuration = MarshalerConfiguration wave
>	service: a VisualWave.WebRequestService
>	service = a VisualWave.WebRequestService
>	virtualDirectories = nil
>	hostname = nil
>	port = nil
>Arguments:
>	aTransport = Transport<a VisualWave.WaveTransport
>Context PC = 4
>
>----------------------------------------------------------------------
>optimized [] in [] in VisualWave.WaveTransport>>handlingIncomingMessage
>Receiver:
>	an UndefinedObject
>Temporaries:
>	.self = Transport<a VisualWave.WaveTransport
>Context PC = 7
>
>----------------------------------------------------------------------
>BlockClosure>>ensure:
>Receiver:
>	a BlockClosure
>Instance Variables:
>	method = CompiledBlock [] in [] in
>VisualWave.WaveTransport>>handlingIncomingMessage
>	outerContext = nil
>	copiedValues = Transport<a VisualWave.WaveTransport
>Arguments:
>	aBlock = BlockClosure [] in [] in
>VisualWave.WaveTransport>>handlingIncomingMessage
>Temporaries:
>	result = nil
>Context PC = 4
>
>----------------------------------------------------------------------
>optimized [] in VisualWave.WaveTransport>>handlingIncomingMessage
>Receiver:
>	an UndefinedObject
>Temporaries:
>	.self = Transport<a VisualWave.WaveTransport
>Context PC = 13
>
>----------------------------------------------------------------------
>BlockClosure>>on:do:
>Receiver:
>	a BlockClosure
>Instance Variables:
>	method = CompiledBlock [] in
>VisualWave.WaveTransport>>handlingIncomingMessage
>	outerContext = nil
>	copiedValues = Transport<a VisualWave.WaveTransport
>Arguments:
>	anExceptionSelector = Error
>	handlerBlock = BlockClosure [] in
>VisualWave.WaveTransport>>handlingIncomingMessage
>Context PC = 18
>
>----------------------------------------------------------------------
>VisualWave.WaveTransport>>handlingIncomingMessage
>Receiver:
>	a VisualWave.WaveTransport
>Instance Variables:
>	handlers = nil
>	state = #running
>	manager = Adaptor<a VisualWave.WaveConnectionAdaptor
>	serverProcess = a Process in Process>>resume
>	sendLock = a Semaphore[0]
>	marshaler = a VisualWave.WaveMarshaler
>	unmarshaler = a VisualWave.WaveMarshaler
>	readBuffer = a TransportMessageHeader[1024]
>	writeBuffer = a TransportMessageHeader[1024]
>	configuration = TransportConfiguration waveCGI
>	marshaler: (MarshalerConfiguration wave
>		service: a VisualWave.WebRequestService)
>	serverPriority: 65
>	requestRegistry = an OtWeakValueDictionary
>	nextRequestId = 0
>	sessionObjects = a Set[0]
>	id = IPSocketAddress(port#35550 at:hana)
>	writeStream = an ExternalReadAppendStream
>	readStream = an ExternalReadAppendStream
>	socket = an active SocketAccessor
>Context PC = 12
>
>----------------------------------------------------------------------
>VisualWave.WaveTransport>>serverProcessBody
>Receiver:
>	a VisualWave.WaveTransport
>Instance Variables:
>	handlers = nil
>	state = #running
>	manager = Adaptor<a VisualWave.WaveConnectionAdaptor
>	serverProcess = a Process in Process>>resume
>	sendLock = a Semaphore[0]
>	marshaler = a VisualWave.WaveMarshaler
>	unmarshaler = a VisualWave.WaveMarshaler
>	readBuffer = a TransportMessageHeader[1024]
>	writeBuffer = a TransportMessageHeader[1024]
>	configuration = TransportConfiguration waveCGI
>	marshaler: (MarshalerConfiguration wave
>		service: a VisualWave.WebRequestService)
>	serverPriority: 65
>	requestRegistry = an OtWeakValueDictionary
>	nextRequestId = 0
>	sessionObjects = a Set[0]
>	id = IPSocketAddress(port#35550 at:hana)
>	writeStream = an ExternalReadAppendStream
>	readStream = an ExternalReadAppendStream
>	socket = an active SocketAccessor
>Context PC = 9
>
>----------------------------------------------------------------------
>optimized [] in Transport>>startServerProcess
>Receiver:
>	an UndefinedObject
>Temporaries:
>	.self = Transport<a VisualWave.WaveTransport
>Context PC = 6
>
>----------------------------------------------------------------------
>BlockClosure>>on:do:
>Receiver:
>	a BlockClosure
>Instance Variables:
>	method = CompiledBlock [] in Transport>>startServerProcess
>	outerContext = nil
>	copiedValues = Transport<a VisualWave.WaveTransport
>Arguments:
>	anExceptionSelector = TerminateException
>	handlerBlock = BlockClosure [] in [] in Process
>class>>forBlock:priority:
>Context PC = 18
>
>----------------------------------------------------------------------
>optimized [] in Process class>>forBlock:priority:
>Receiver:
>	an UndefinedObject
>Temporaries:
>	.aBlock = BlockClosure [] in Transport>>startServerProcess
>Context PC = 9
>
>
>_______________________________________________
>Seaside mailing list
>Seaside at lists.squeakfoundation.org
>http://lists.squeakfoundation.org/listinfo/seaside
>  
>



More information about the Seaside mailing list