From 116dbdc76fdb130b83035936413fa8d069998e2b Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 24 Apr 2008 07:35:22 +0000 Subject: [PATCH] Patch level : 10.0 0038 Files correlati : Ricompilazione Demo : [ ] Commento : Modificato il nome del metodo SOAP in postman e memorizzato il nome della tabella git-svn-id: svn://10.65.10.50/trunk@16539 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- include/netsock.cpp | 2 +- include/postman.cpp | 28 ++++++++++++++++++++-------- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/include/netsock.cpp b/include/netsock.cpp index 85202503b..e4eda04ea 100755 --- a/include/netsock.cpp +++ b/include/netsock.cpp @@ -974,7 +974,7 @@ bool TSocketClient::HttpSoap(CONNID id, const char* cmd) if (content.find("\n\n"); - content << "\n\r\n"; + content << "\n\r\n\r\n"; } TString buf(4096); diff --git a/include/postman.cpp b/include/postman.cpp index 6c4d00bca..0a6787648 100755 --- a/include/postman.cpp +++ b/include/postman.cpp @@ -209,15 +209,27 @@ static int write_xml(TConfig& cfg, void* jolly) if (logicnum > 0) { child.SetAttr("LogicNumber", logicnum); - child.SetAttr("TableName", logic2table(logicnum)); - + if (logicnum > LF_TAB) + child.SetAttr("TableName", logic2table(logicnum)); + else + { + TString table; + + FOR_EACH_ASSOC_STRING(vars, hobj, key, val) + if (logicnum <= LF_TAB && strcmp(key, "COD") == 0) + { + table = val; + break; + } + child.SetAttr("TableName", table); + } if (rownum > 0) child.SetAttr("RowNumber", rownum); } TString s; - + FOR_EACH_ASSOC_STRING(vars, hobj, key, val) if (val && *val) { @@ -354,10 +366,10 @@ bool TPostman::dispatch_transaction(const TRectype& rec, bool ok = true; - item.SetTag("Campo"); + item.SetTag("m:CampoTransaction"); trans.for_each_paragraph(write_xml, &item); - item.Write(stream, 0); + item.Write(stream, 2); stream << '\0'; #ifdef DBG @@ -378,11 +390,11 @@ bool TPostman::dispatch_transaction(const TRectype& rec, << "Content-Type: text/xml; charset=utf-8\n" << "Content-length: " << len << "\n" << "SOAPAction: \"/\"\r\n\r\n" - << "\n\n"; + << "\n\r\n"; - item.Write(f, 0); + item.Write(f, 2); - f << "\n\n\r\n"; + f << "\n\n\r\n\r\n"; #endif FOR_EACH_TOKEN(soap_dest, r)