Thanks Gustaf and Wolfgang.
I modified the proc ::WS::AOLserver::Return as per Gustaf suggestion, but I
have not yet succeeded executing the sample EchoWebService.
To reduce the complexity I modified the call to the service so as to make a
single call to the SimpleEcho method. Executing the script
CallEchoWebService I receive a screen with the correct results, but looking
at the error.log it seems that the calls to ::WS::AOLserver::Return be
duplicated and finally I get an error complaining that the connection is
already closed.
Here is an excerpt of the error log.
[02/Jan/2017:15:37:13][3409.7fa0d5398700][-conn:oacs-5-9:4-] Notice:
WS::AOLserver::Redirect: from '{} tclws ws echoexample wsdl' to
'/tclws/ws/echoexample/index.tcl'
[02/Jan/2017:15:37:13][3409.7fa0d5398700][-conn:oacs-5-9:4-] Notice:
...entering ::WS::AOLserver::Return requestType=wsdl
[02/Jan/2017:15:37:13][3409.7fa0d5398700][-conn:oacs-5-9:4-] Notice:
... calling ::WS::Server::generateWsdl
[02/Jan/2017:15:37:13][3409.7fa0d5398700][-conn:oacs-5-9:4-] Notice:
...entering ::WS::AOLserver::Return requestType=wsdl
[02/Jan/2017:15:37:13][3409.7fa0d5398700][-conn:oacs-5-9:4-] Notice:
... calling ::WS::Server::generateWsdl
[02/Jan/2017:15:37:13][3409.7fa0d5499700][-conn:oacs-5-9:3-] Notice:
Calling SimpleEcho via DoCalls!
[02/Jan/2017:15:37:13][3409.7fa0d5398700][-conn:oacs-5-9:4-] Notice:
WS::AOLserver::Redirect: from '{} tclws ws echoexample op' to
'/tclws/ws/echoexample/index.tcl'
[02/Jan/2017:15:37:13][3409.7fa0d5398700][-conn:oacs-5-9:4-] Notice:
...entering ::WS::AOLserver::Return requestType=op
[02/Jan/2017:15:37:13][3409.7fa0d5398700][-conn:oacs-5-9:4-] Notice:
...::WS::AOLserver::Return calling ::WS::Server::callOperation
service=echoexample sock=nosock
[02/Jan/2017:15:37:13][3409.7fa0d5398700][-conn:oacs-5-9:4-] Notice:
...entering ::WS::AOLserver::Return requestType=op
[02/Jan/2017:15:37:13][3409.7fa0d5499700][-conn:oacs-5-9:3-] Notice:
Received: {SimpleEchoResult {This is a test}}
[02/Jan/2017:15:37:13][3409.7fa0d5398700][-conn:oacs-5-9:4-] Error:
connection already closed, can't get content
while executing
"ns_conn content"
(procedure "ns_getcontent" line 75)
invoked from within
"ns_getcontent -as_file false -binary false"
("uplevel" body line 37)
invoked from within
"uplevel 1 {
set sock nosock
ns_log notice "\n...entering ::WS::AOLserver::Return
requestType=$requestType"
switch -exact -- $requestType {
..."
(procedure "::WS::AOLserver::Return" line 3)
invoked from within
"::WS::AOLserver::Return"
I don't understand why this is happening.
Wolfgang: did You modify the proc ::ws_aolserver_redirect replacing
ns_rewriteurl with ns_internalredirect?
Best regards.
Claudio
2017-01-02 13:34 GMT+01:00 Wolfgang Winkler <
wolfgang.wink...@digital-concepts.com>:
> Hi Claudio!
>
> I can confirm what Gustaf wrote below. We are using our own initialization
> routine, which is similar to the one provided by the tclws package. We have
> our own logging facilities, wo we don't need the log package:
>
> namespace eval ::WS::AOLserver {
> if {![info exists wsVersion]} {
> variable wsVersion [package require WS::Server]
> }
> #if {![info exists logVersion]} {
> # variable logVersion [package require log]
> #}
> }
>
> For returning values, we use exactly the line from Gustaf:
>
> set data(query) [ns_getcontent -as_file false -binary false]
>
> This is handy for REST interfaces as well.
>
> regards,
>
> Wolfgang
>
>
>
> Am 2016-12-31 um 17:51 schrieb Gustaf Neumann:
>
> Am 30.12.16 um 19:00 schrieb Claudio Pasolini:
>
> Hi all,
>
> I'm in the process of upgrading several OpenACS instances and migrating
> them from AolServer 4.5 to the latest NaviServer.
>
> One of the instances makes use of TCLWS for bulding a couple of SOAP web
> services and I'm having trouble to make it work.
>
> Here are the first problems encountered:
>
> - ns_ictl doesn't support the 'package' argument. I replaced the
> command
> ns_ictl package require log
> with
> ns_ictl trace allocate {package require log}
>
> probably, using "package require log" will be sufficient as well.
>
>
> - but I'm not sure about eventual side effects.
> - In a proc called by ns_register_filter preauth I replaced ns_rewrite
> with ns_internalredirect but I observed a strange behaviour.
> ns_register_filter invokes the proc passing one argument, but actually
> the proc receives two, prehauth being added.
>
> you are probably referring to the old module "nsredirect". Calling
> ns_internalredirect should be fine.
>
> Yes, there is a difference between the calling conventions in AOLserver
> and NaviServer:
> NaviServer tells the developer the stage, at which the proc was invoked
> (the same proc
> might be registered for multiple states (such as "preauth", "postauth" or
> "trace"). This
> difference is as well handled in e.g. OpenACS since 10+ years.
>
>
> - I stumbled in the same problem posted by Wolfgang Winkler
> Error: can't set "xsltSchemaDom": var is read-only
> and solved it thanks to Gustaf tip.
>
> should not happen in recent versions of NaviServer
>
>
> - Calling the sample EchoWebService I get a strange error
> Error: invalid length: 779
> executing the command
> ns_conn copy 0 $length $fp
>
> this comes probably from this section:
> https://github.com/bovine/tclws/blob/master/AOLserver.tcl#L82
>
> I would think that you can replace the section "Get POSTed data"
> by something like:
>
> set data(query) [ns_getcontent -as_file false -binary false]
>
> This has at least the following advantages
> - less hacky
> - works for http and https
> - works also when spooling post data
>
> all the best
> -gn
>
>
> I wonder if someone (Wolfgang?) having already a production site running
> TCLWS with NaviServer could suggest me how to proceed.
>
> Happy New Year!
>
> Claudio
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>
>
>
> _______________________________________________
> naviserver-devel mailing
> listnaviserver-devel@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/naviserver-devel
>
>
>
> --
> Univ.Prof. Dr. Gustaf Neumann
> WU Vienna
> Institute of Information Systems and New Media
> Welthandelsplatz 1, A-1020 Vienna, Austria
>
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>
>
>
> _______________________________________________
> naviserver-devel mailing
> listnaviserver-devel@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/naviserver-devel
>
>
> --
>
> *Wolfgang Winkler*
> Geschäftsführung
> wolfgang.wink...@digital-concepts.com
> mobil +43.699.19971172 <+43%20699%2019971172>
>
> dc:*büro*
> digital concepts Novak Winkler OG
> Software & Design
> Landstraße 68, 5. Stock, 4020 Linz
> www.digital-concepts.com
> tel +43.732.997117.72
> tel +43.699.1997117.2
>
> Firmenbuchnummer: 192003h
> Firmenbuchgericht: Landesgericht Linz
>
>
>
> ------------------------------------------------------------
> ------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> _______________________________________________
> naviserver-devel mailing list
> naviserver-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/naviserver-devel
>
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel