Home
The Toolkit for Online Communities
15899 Community Members, 0 members online, 2304 visitors today
Log In Register

Forum OpenACS Q&A: xotcl-soap for document literal

OpenACS Home : Forums : OpenACS Q&A : xotcl-soap for document literal

Icon of Envelope Request notifications

+
Posted by Sindhura Ramegowda on
I'm testing an xotcl-soap implementation using Stefan Sobernig's manual example and unable to proceed:


namespace import -force ::xosoap::client::*
namespace import ::xorb::stub::*
set endpoint http://xx.xx.xx.xx:8080/path/
set glueObject [SoapGlueObject new -endpoint $endpoint -messageStyle ::xosoap::DocumentLiteral]
ProxyObject EchoClient -glueobject $glueObject
EchoClient ad_proc -returns xsString \
getxxx {-transuid xsString} {
By calling this proc, a remote call is issued \
against the previously defined endpoint
} {}
ns_write [EchoClient getxxx -transuid 2]

I've used the same format of specifying the arguments as suggested. The following is the error produced when I try to get my example running:


[15/Nov/2010:14:44:12][10709.1094752576][-default:2-] Notice: exception type ="::xorb::exceptions::RequestorException">
message:wrong # args for method '__parse__': valid arguments -transuid xsString /message
description:
Requestor failed dispatching your invocation request
/description
errorStack:wrong # args for method '__parse__': valid arguments -transuid xsString
while executing
"::xotcl::interpretNonpositionalArgs $args"
(procedure "__parse__" line 1)
::xotcl::__#t->__parse__
invoked from within
"my __parse__ -transuid 2"
("eval" body line 1)
invoked from within
"eval my __parse__ [lindex $args 0]" /errorStack>
[15/Nov/2010:14:44:12][10709.1094752576][-default:2-] Error: GET http://path
referred by ""
can't read "message": no such variable
::xotcl::__#w ::xoexception::Throwable->message
invoked from within
"$e message"
invoked from within
"subst {
Exception caught. Please, consult the log file for details:
[$e message]
}"
("uplevel" body line 4)
invoked from within
"uplevel $catchScript"
invoked from within
"if { "error" == "$errorType" } {
uplevel [ list set $errorName $result ]
uple..."
(procedure "try" line 36)
::xoexception::Throwable->try
invoked from within
"::xoexception::Throwable try {
my debug INNER-ARGS=$args
#$requestor setup
$requestor call $args
} catch {Exception e} {
my debug EXCEPTION=..."
("uplevel" body line 1)
invoked from within
"uplevel ::xoexception::Throwable try $args"
(procedure "::xoexception::try" line 3)
invoked from within
"::xoexception::try {
my debug INNER-ARGS=$args
#$requestor setup
$requestor call $args
} catch {Exception e} {
my debug EXCEPTION=[$e serial..."
(procedure "getxxx " line 5)
::template::EchoClient->getxxx
invoked from within
"EchoClient getxxx -transuid 2"
("uplevel" body line 21)
invoked from within
"uplevel {
namespace import -force ::xosoap::client::*
namespace import ::xorb::stub::*
set endpoint http://xxx.xx...."
(procedure "code::tcl::/path" line 2)
invoked from within
"code::tcl::$__adp_stub"
("uplevel" body line 12)
invoked from within
"uplevel {
if { [file exists $__adp_stub.tcl] } {
# ensure that data source preparation procedure exists and is up-to-date
adp_init t..."
(procedure "adp_prepare" line 2)
invoked from within
"adp_prepare"
invoked from within
"template::adp_parse [file root [ad_conn file]] {}"
(procedure "adp_parse_ad_conn_file" line 6)
invoked from within
"$handler"
("uplevel" body line 2)
invoked from within
"uplevel $code"
invoked from within
"ad_try {
$handler
} ad_script_abort val {
# do nothing
}"
invoked from within
"rp_serve_concrete_file [ad_conn file]"
(procedure "rp_serve_abstract_file" line 60)
invoked from within

So far from what I've understood the implementation must support the Document Literal format of wsdl too, which is what I'm trying to achieve. The acs-service-contract is using 5.7 version and both xotcl-soap+xotcl-request-broker are on 0.5d.