#include #include #include #include #include #include #include "CounterIA.h" #include #include void handle(int) { //XMLPlatformUtils::Terminate(); exit(0); } int main() { signal(SIGINT, handle); try { XMLPlatformUtils::Initialize(); CounterIA ia; HTTP_SOAPServerHelper server; for (;;) { HTTP_SOAPServerHelper::request *req = server.getRequest(); DOMString result; cerr << "url: " << req->url << endl; int resultCode = ia.handleRequest(req->body, req->soapAction, result); cerr << "handleRequest: " << resultCode << endl; server.respond(result, 500 - resultCode * 300); } } catch (SOAP_AdaptorException &e) { cout << "Content-type: text/xml\r\n" << flush; cout << "\r\n" << flush; cout << "exception.\r\n"; cout << e.getMessage() << endl; } catch (...) { cout << "Content-type: text/xml\r\n" << flush; cout << "\r\n" << flush; cout << "unknown exception." << endl; } return 0; }