soap协议中的soap结构体
soup协议中的soap结构体
struct SOAP_STD_API soap
{ short state; /* 0 = uninitialized, 1 = initialized, 2 = copy of another soap struct */short version; /* 1 = SOAP1.1 and 2 = SOAP1.2 (set automatically from namespace URI in nsmap table) */soap_mode mode;soap_mode imode;soap_mode omode;const char *float_format; /* user-definable format string for floats (<1024 chars) */const char *double_format; /* user-definable format string for doubles (<1024 chars) */const char *dime_id_format; /* user-definable format string for integer DIME id (<SOAP_TAGLEN chars) */const char *http_version; /* HTTP version used "1.0" or "1.1" */const char *http_content; /* optional custom response content type (with SOAP_FILE) */const char *encodingStyle; /* default = NULL which means that SOAP encoding is used */const char *actor; /* SOAP-ENV:actor or role attribute value */const char *lang; /* xml:lang attribute value of SOAP-ENV:Text */int recv_timeout; /* when > 0, gives socket recv timeout in seconds, < 0 in usec */int send_timeout; /* when > 0, gives socket send timeout in seconds, < 0 in usec */int connect_timeout; /* when > 0, gives socket connect() timeout in seconds, < 0 in usec */int accept_timeout; /* when > 0, gives socket accept() timeout in seconds, < 0 in usec */int socket_flags; /* socket recv() and send() flags, e.g. set to MSG_NOSIGNAL to disable sigpipe */int connect_flags; /* connect() SOL_SOCKET sockopt flags, e.g. set to SO_DEBUG to debug socket */int bind_flags; /* bind() SOL_SOCKET sockopt flags, e.g. set to SO_REUSEADDR to enable reuse */int accept_flags; /* accept() SOL_SOCKET sockopt flags */unsigned short linger_time; /* linger time for SO_LINGER option */const struct Namespace *namespaces; /* Pointer to global namespace mapping table */struct Namespace *local_namespaces; /* Local namespace mapping table */struct soap_nlist *nlist; /* namespace stack */struct soap_blist *blist; /* block allocation stack */struct soap_clist *clist; /* class instance allocation list */void *alist; /* memory allocation (malloc) list */struct soap_ilist *iht[SOAP_IDHASH];struct soap_plist *pht[SOAP_PTRHASH];struct soap_pblk *pblk; /* plist block allocation */short pidx; /* plist block allocation */struct SOAP_ENV__Header *header;struct SOAP_ENV__Fault *fault;int idnum;void *user; /* to pass user-defined data */struct soap_plugin *plugins; /* linked list of plug-in data */char *userid; /* HTTP Basic authorization userid */char *passwd; /* HTTP Basic authorization passwd */int (*fpost)(struct soap*, const char*, const char*, int, const char*, const char*, size_t);int (*fget)(struct soap*);int (*fput)(struct soap*);int (*fdel)(struct soap*);int (*fhead)(struct soap*);int (*fform)(struct soap*);int (*fposthdr)(struct soap*, const char*, const char*);int (*fresponse)(struct soap*, int, size_t);int (*fparse)(struct soap*);int (*fparsehdr)(struct soap*, const char*, const char*);int (*fheader)(struct soap*);int (*fresolve)(struct soap*, const char*, struct in_addr* inaddr);int (*fconnect)(struct soap*, const char*, const char*, int);int (*fdisconnect)(struct soap*);int (*fclosesocket)(struct soap*, SOAP_SOCKET);int (*fshutdownsocket)(struct soap*, SOAP_SOCKET, int);SOAP_SOCKET (*fopen)(struct soap*, const char*, const char*, int);SOAP_SOCKET (*faccept)(struct soap*, SOAP_SOCKET, struct sockaddr*, int *n);int (*fclose)(struct soap*);int (*fsend)(struct soap*, const char*, size_t);size_t (*frecv)(struct soap*, char*, size_t);int (*fpoll)(struct soap*);void (*fseterror)(struct soap*, const char **c, const char **s);int (*fignore)(struct soap*, const char*);int (*fserveloop)(struct soap*);void *(*fplugin)(struct soap*, const char*);void *(*fmalloc)(struct soap*, size_t);
#ifndef WITH_LEANERint (*fprepareinit)(struct soap*);int (*fpreparesend)(struct soap*, const char*, size_t);int (*fpreparerecv)(struct soap*, const char*, size_t);int (*fpreparefinal)(struct soap*);void *(*fdimereadopen)(struct soap*, void*, const char*, const char*, const char*);void *(*fdimewriteopen)(struct soap*, const char*, const char*, const char*);void (*fdimereadclose)(struct soap*, void*);void (*fdimewriteclose)(struct soap*, void*);size_t (*fdimeread)(struct soap*, void*, char*, size_t);int (*fdimewrite)(struct soap*, void*, const char*, size_t);void *(*fmimereadopen)(struct soap*, void*, const char*, const char*, const char*);void *(*fmimewriteopen)(struct soap*, void*, const char*, const char*, const char*, enum soap_mime_encoding);void (*fmimereadclose)(struct soap*, void*);void (*fmimewriteclose)(struct soap*, void*);size_t (*fmimeread)(struct soap*, void*, char*, size_t);int (*fmimewrite)(struct soap*, void*, const char*, size_t);
#endifSOAP_SOCKET master;SOAP_SOCKET socket;
#if defined(__cplusplus) && !defined(WITH_LEAN) && !defined(WITH_COMPAT)std::ostream *os;std::istream *is;
#elsevoid *os; /* preserve struct size */void *is; /* preserve struct size */
#endif
#ifndef UNDER_CEint sendfd;int recvfd;
#elseFILE *sendfd;FILE *recvfd;
#endifsize_t bufidx; /* index in soap.buf[] */size_t buflen; /* length of soap.buf[] content */soap_wchar ahead; /* parser lookahead */short cdata; /* CDATA parser state */short body; /* parsed XML element has a body or not */unsigned int level; /* XML nesting level */size_t count; /* message length counter */size_t length; /* message length as set by HTTP header */char *labbuf; /* look-aside buffer */size_t lablen; /* look-aside buffer allocated length */size_t labidx; /* look-aside buffer index to available part */char buf[SOAP_BUFLEN];/* send and receive buffer */char msgbuf[1024]; /* in/out buffer for HTTP/MIME headers >=1024 bytes */char tmpbuf[1024]; /* in/out buffer for HTTP/MIME headers, simpleType values, element and attribute tag names, and DIME must be >=1024 bytes */char tag[SOAP_TAGLEN];char id[SOAP_TAGLEN];char href[SOAP_TAGLEN];char type[SOAP_TAGLEN];char arrayType[SOAP_TAGLEN];char arraySize[SOAP_TAGLEN];char arrayOffset[SOAP_TAGLEN];short other;short position;int positions[SOAP_MAXDIMS];short root;struct soap_attribute *attributes; /* attribute list */short encoding; /* when set, output encodingStyle */short mustUnderstand; /* a mustUnderstand element was parsed or is output */short null; /* parsed XML is xsi:nil */short ns; /* when not set, output full xmlns bindings */short part; /* parsing state */short alloced;short peeked;size_t chunksize;size_t chunkbuflen;char endpoint[SOAP_TAGLEN];char path[SOAP_TAGLEN];char host[SOAP_TAGLEN];char *action;char *authrealm; /* HTTP authentication realm */char *prolog; /* XML declaration prolog */unsigned long ip; /* IP number */int port; /* port number */short keep_alive; /* connection should be kept open */short tcp_keep_alive; /* enable SO_KEEPALIVE */unsigned int tcp_keep_idle; /* set TCP_KEEPIDLE */unsigned int tcp_keep_intvl; /* set TCP_KEEPINTVL */unsigned int tcp_keep_cnt; /* set TCP_KEEPCNT */unsigned int max_keep_alive; /* maximum keep-alive session (default=100) */const char *proxy_http_version;/* HTTP version of proxy "1.0" or "1.1" */const char *proxy_host; /* Proxy Server host name */int proxy_port; /* Proxy Server port (default = 8080) */const char *proxy_userid; /* Proxy Authorization user name */const char *proxy_passwd; /* Proxy Authorization password */const char *proxy_from; /* X-Forwarding-For header returned by proxy */int status; /* -1 when request, else error code to be returned by server */int error;int errmode;int errnum;
#ifndef WITH_LEANERstruct soap_dom_element *dom;struct soap_dime dime;struct soap_mime mime;struct soap_xlist *xlist;
#endif
#if !defined(WITH_LEAN) || defined(SOAP_DEBUG)const char *logfile[SOAP_MAXLOGS];FILE *fdebug[SOAP_MAXLOGS];struct soap_mlist *mht[SOAP_PTRHASH];
#endif
#ifndef WITH_LEANconst char *c14ninclude;const char *c14nexclude;struct soap_cookie *cookies;const char *cookie_domain;const char *cookie_path;int cookie_max;
#endif
#ifndef WITH_NOIOint ipv6_multicast_if; /* always include this to keep the soap struct size the same in v4 and v6 */char* ipv4_multicast_if; /* always include this to keep the soap struct size the same in v4 and v6 */int ipv4_multicast_ttl; /* multicast scope */
#ifdef WITH_IPV6struct sockaddr_storage peer; /* IPv6: set by soap_accept and by UDP recv */
#elsestruct sockaddr_in peer; /* IPv4: set by soap_connect/soap_accept and by UDP recv */
#endif
#endifsize_t peerlen;
#ifdef WITH_OPENSSLint (*fsslauth)(struct soap*);int (*fsslverify)(int, X509_STORE_CTX*);BIO *bio;SSL *ssl;SSL_CTX *ctx;SSL_SESSION *session;
#elsevoid *fsslauth; /* dummy members, to preserve struct size */void *fsslverify;void *bio;void *ssl;void *ctx;void *session;
#endifunsigned short ssl_flags;const char *keyfile;const char *password;const char *dhfile;const char *cafile;const char *capath;const char *crlfile;const char *randfile;char session_host[SOAP_TAGLEN];int session_port;
#ifdef WITH_C_LOCALElocale_t c_locale; /* set to C locale by default */
#elsevoid *c_locale;
#endif
#ifdef WITH_ZLIBz_stream *d_stream; /* decompression stream */uLong z_crc; /* internal gzip crc */
#elsevoid *d_stream; /* dummy members, to preserve struct size */soap_int32 z_crc;
#endifshort zlib_state; /* SOAP_ZLIB_NONE, SOAP_ZLIB_DEFLATE, or SOAP_ZLIB_INFLATE */short zlib_in; /* SOAP_ZLIB_NONE, SOAP_ZLIB_DEFLATE, or SOAP_ZLIB_GZIP */short zlib_out; /* SOAP_ZLIB_NONE, SOAP_ZLIB_DEFLATE, or SOAP_ZLIB_GZIP */char *z_buf; /* buffer */size_t z_buflen;unsigned short z_level; /* compression level to be used (0=none, 1=fast to 9=best) */float z_ratio_in; /* detected compression ratio compressed_length/length of inbound message */float z_ratio_out; /* detected compression ratio compressed_length/length of outbound message */
#ifdef WMW_RPM_IOvoid *rpmreqid;
#endif
#ifdef __cplusplussoap();soap(soap_mode);soap(soap_mode, soap_mode);soap(struct soap&);virtual ~soap();
#elsevoid (*dummy)();
#endif
};
soap协议中的soap结构体相关推荐
- Swift 中枚举、结构体、类(enum、struct、class)
Swift 中枚举.结构体.类(enum.struct.class) Swift中的枚举与OC相比不会自动分配初始值,值的类型不会限定为整数,可以给定关联值类型和具体值(整型.浮点型.字符型(Swif ...
- 函数体中定义的结构体和类型
源代码: 1 #include <stdio.h> 2 struct smonth // point 1 3 { 4 int a; 5 int b; 6 }; 7 8 int func1( ...
- Python中定义(声明)结构体
文章目录 前言 实现 前言 在Python中并无像C/C++那样的结构体类型,但是由于Python是用C编写而来的,很多东西可以互通. Python是有struct模块,但并非是用于处理一般结构体的, ...
- Java中如何实现结构体?如何对结构体进行排序?
***今天在做老师布置的编程题时,遇到了本题.感觉这道题如果用C++来解决的话,用结构体比较好吧!哈哈哈,可能还有其他的好方法,但我目前想到的是用结构体来解决比较合理.Java中有结构体吗?如果有,它 ...
- soap协议_Go和SOAP
在REST和RPC大行其道的今天,支持SOAP(简答对象访问协议)作为Web服务消息交换协议的情况是越来越少了.但在一些遗留系统中,尤其是采用微软技术栈的服务系统中,SOAP依然占有一席之地,比如在一 ...
- soap协议_当SOAP遇上REST!一文解读Web服务Web API方法
当SOAP遇上REST!一文解读eb服务和Web API方法 SOAP和REST,也许您已经很熟悉它们,希望扩展您的知识或获取新的观点.或者,也许您听说过它们,并正在寻求更好的理解.毕竟,SOAP和R ...
- Linux中网络通信中 使用的结构体
"+++++++++++++++++++++++++ Linux TCP/UDP通信中的结构体 +++++++++++++++++++++++++++++++++++++++" s ...
- STM32编程中枚举和结构体的结合
01.结构体定义 基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量. 结构体的定义: ...
- linux系统中struct timeval结构体、struct timezone结构体以及gettimeofday函数
格林尼治时间.协调世界时 间.世界时间.日光节约时间以及时区等介绍: 格林尼治时间(Greenwich Mean Time,GMT)是指位于英国伦敦郊区的皇家格林尼治天文台当地的标准时间,因为本初子午 ...
最新文章
- 内存管理(链表,指针操作,繁琐)
- NUMA导致的MySQL服务器SWAP问题分析
- 全局组、域本地组、通用组到底有什么区别?它们之间的关系如何?
- 四五六年级计算机教学计划,五六年级信息技术教学计划
- 前端学习(1611):redux使用
- 95-40-115-java.util.concurrent-线程-AbstractExecutorService
- WebRTC直播技术方案
- 路由重分布 rip,eigrp,和ospf
- javascript语言
- 功能强大的云打印组件-开始使用
- 数据库迁移工具flyway
- 真解决EasyUi的 select 使用 class=“easyui-combobox“ 样式绑定onSelect/onChange事件
- 肿瘤 材料 计算机模拟,PeerJ: 计算机模拟揭示癌症多样性
- matlab非齐次线性方程组的解,MATLAB求解非齐次线性方程组
- Excel画函数图像
- 如何在支付宝开直播,这篇入驻教程不要错过,看完你就会了
- 命令行中运行jar包(cmd)
- HTML罕见的冷门标签
- 运动规划学习笔记4——探索OMPL
- R语言 使用RODBC连接oracle数据库
热门文章
- 【转】内存中找怪物之代码注入篇
- 网吧“亡国史”,命悬一线后生机在哪?
- 利用Matlab进行图像的复原
- 2.初识Abp(Postgresql)
- JAVA学习-基础部分【1】
- MS7210,数字RGB转HDMI,P=P替代IT66121FN,HDMI_Tx
- HUAWEI Mate RS 保时捷设计国内开售 重新定义奢华手机
- 14、nginx的正则表达式名称-(server_name为正则表达式)
- 今日份安利:音频淡入淡出效果如何制作?
- h264和h265的区别