int main(int argc, char ** argv) { if (argc != 5 && argc != 6) { fprintf(stderr, "usage: %s Host Port [Server] Method JSON\n", argv[0]); return EX_USAGE; } INT_32 iReturnCode = EX_SOFTWARE; try { CDT oRequest; CDT oResponse; if(argc == 5) { CTPP2JSONParser(oRequest).Parse(argv[4], argv[4] + strlen(argv[4])); ASXMLRPCClient oRPCClient(argv[1], atoi(argv[2]), 10000, 10000); oRPCClient.Call(argv[3], oRequest, oResponse); fprintf(stderr, "%s\n%s\n%s\n", argv[3], oRequest.Dump().c_str(), oResponse.Dump().c_str()); } else { CTPP2JSONParser(oRequest).Parse(argv[5], argv[5] + strlen(argv[5])); ASXMLRPCClient oRPCClient(argv[1], atoi(argv[2]), 1000, 1000, argv[3]); oRPCClient.Call(argv[4], oRequest, oResponse); fprintf(stderr, "%s\n%s\n%s\n", argv[4], oRequest.Dump().c_str(), oResponse.Dump().c_str()); } iReturnCode = EX_OK; } catch(STLW::exception &e) { fprintf(stderr, "ERROR: %s\n", e.what()); } fclose(stdin); fclose(stdout); fclose(stderr); return iReturnCode; }