diff options
Diffstat (limited to 'sca-cpp/trunk/components/webservice')
-rw-r--r-- | sca-cpp/trunk/components/webservice/axis2.hpp | 8 | ||||
-rwxr-xr-x | sca-cpp/trunk/components/webservice/server-test | 1 | ||||
-rw-r--r-- | sca-cpp/trunk/components/webservice/webservice-listener.cpp | 2 |
3 files changed, 6 insertions, 5 deletions
diff --git a/sca-cpp/trunk/components/webservice/axis2.hpp b/sca-cpp/trunk/components/webservice/axis2.hpp index 62797d86f2..7630b54295 100644 --- a/sca-cpp/trunk/components/webservice/axis2.hpp +++ b/sca-cpp/trunk/components/webservice/axis2.hpp @@ -112,7 +112,7 @@ const failable<axiom_node_t*> stringToAxiomNode(const string& s, const Axis2Cont const failable<axiom_node_t*> valuesToAxiomNode(const list<value>& l, const Axis2Context& ax) { const failable<list<string> > xml = writeXML(valuesToElements(l), false); if (!hasContent(xml)) - return mkfailure<axiom_node_t*>(reason(xml)); + return mkfailure<axiom_node_t*>(xml); ostringstream os; write(content(xml), os); return stringToAxiomNode(str(os), ax); @@ -136,7 +136,7 @@ const failable<const string> axiomNodeToString(axiom_node_t* node, const Axis2Co const failable<const list<value> > axiomNodeToValues(axiom_node_t* node, const Axis2Context& ax) { const failable<const string> s = axiomNodeToString(node, ax); if (!hasContent(s)) - return mkfailure<const list<value> >(reason(s)); + return mkfailure<const list<value> >(s); istringstream is(content(s)); const failable<const list<value> > l = readXML(streamList(is)); if (!hasContent(l)) @@ -170,7 +170,7 @@ const failable<value> evalExpr(const value& expr, const Axis2Context& ax) { // Construct request Axiom node const failable<axiom_node_t*> req = valuesToAxiomNode(param, ax); if (!hasContent(req)) - return mkfailure<value>(reason(req)); + return mkfailure<value>(req); // Call the Web service axiom_node_t* res = axis2_svc_client_send_receive(client, env(ax), content(req)); @@ -182,7 +182,7 @@ const failable<value> evalExpr(const value& expr, const Axis2Context& ax) { // Parse result Axiom node const failable<const list<value> > lval = axiomNodeToValues(res, ax); if (!hasContent(lval)) - return mkfailure<value>(reason(lval)); + return mkfailure<value>(lval); const value rval = content(lval); debug(rval, "webservice::evalExpr::result"); diff --git a/sca-cpp/trunk/components/webservice/server-test b/sca-cpp/trunk/components/webservice/server-test index 35cca9f7ad..cb12accbfb 100755 --- a/sca-cpp/trunk/components/webservice/server-test +++ b/sca-cpp/trunk/components/webservice/server-test @@ -18,6 +18,7 @@ # under the License. # Setup +rm -rf tmp ../../modules/http/httpd-conf tmp localhost 8090 ../../modules/http/htdocs ../../modules/http/httpd-event-conf tmp ../../modules/server/server-conf tmp diff --git a/sca-cpp/trunk/components/webservice/webservice-listener.cpp b/sca-cpp/trunk/components/webservice/webservice-listener.cpp index e3347fa186..29ebef4bcb 100644 --- a/sca-cpp/trunk/components/webservice/webservice-listener.cpp +++ b/sca-cpp/trunk/components/webservice/webservice-listener.cpp @@ -47,7 +47,7 @@ extern "C" { const value redirectToAxis2(const string& uri, request_rec* r, const value& relay) { const failable<request_rec*, int> nr = httpd::internalRedirectRequest(uri, r); if (!hasContent(nr)) - return value(reason(nr)); + return value(reason(nr), rcode(nr)); ap_set_module_config(content(nr)->request_config, &axis2_module, const_cast<void*>((const void*)&relay)); return value(httpd::internalRedirect(content(nr))); } |