📄 soapc.c
字号:
return NULL; if (*soap->type && soap_match_tag(soap, soap->type, type)) { soap->error = SOAP_TYPE_MISMATCH; soap_revert(soap); return NULL; } if (soap->null) { if (soap->mode & SOAP_XML_NIL) { soap->error = SOAP_NULL; return NULL; } else return a; } if (!*soap->href) { a = (struct SOAP_ENV__Header *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Header, sizeof(struct SOAP_ENV__Header), 0); if (!a) return NULL; if (soap->alloced) soap_default_SOAP_ENV__Header(soap, a); if (soap->body) { for (;;) { soap->error = SOAP_TAG_MISMATCH; if (soap_flag_TransactionID && soap->error == SOAP_TAG_MISMATCH) if (soap_in_PointerToxsd__string(soap, "TransactionID", &a->TransactionID, "xsd:string")) { soap_flag_TransactionID = 0; continue; } if (soap->error == SOAP_TAG_MISMATCH) soap->error = soap_ignore_element(soap); if (soap->error == SOAP_NO_TAG) break; if (soap->error) { return NULL; } } if (soap_element_end_in(soap, tag)) return NULL; } } else { a = (struct SOAP_ENV__Header *)soap_id_forward(soap, soap->href, (void**)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Header, sizeof(struct SOAP_ENV__Header), 0), SOAP_TYPE_SOAP_ENV__Header, sizeof(struct SOAP_ENV__Header)); if (soap->alloced) soap_default_SOAP_ENV__Header(soap, a); if (soap->body && soap_element_end_in(soap, tag)) return NULL; } return a;}#endifSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_xsd__base64Binary(struct soap *soap, struct xsd__base64Binary const*a){ soap_mark_xsd__base64Binary(soap, a);}SOAP_FMAC3 void SOAP_FMAC4 soap_mark_xsd__base64Binary(struct soap *soap, struct xsd__base64Binary const*a){ if (a->__ptr) soap_array_reference(soap, a, (struct soap_array*)&a->__ptr, a->__size, SOAP_TYPE_xsd__base64Binary);}SOAP_FMAC3 void SOAP_FMAC4 soap_default_xsd__base64Binary(struct soap *soap, struct xsd__base64Binary *a){ a->__size = 0; a->__ptr = NULL;}SOAP_FMAC3 int SOAP_FMAC4 soap_put_xsd__base64Binary(struct soap *soap, struct xsd__base64Binary *a, const char *tag, const char *type){ int i = soap_embed_array(soap, (void*)a, (struct soap_array*)&a->__ptr, a->__size, tag, SOAP_TYPE_xsd__base64Binary); soap_out_xsd__base64Binary(soap, tag, i, a, type); return soap_putindependent(soap);}SOAP_FMAC3 int SOAP_FMAC4 soap_out_xsd__base64Binary(struct soap *soap, const char *tag, int id, const struct xsd__base64Binary *a, const char *type){ int i; struct soap_plist *pp; int n = a->__size; i = soap_array_pointer_lookup(soap, a, (struct soap_array*)&a->__ptr, n, SOAP_TYPE_xsd__base64Binary, &pp); if (!a->__ptr) { soap_element_null(soap, tag, i, type); return SOAP_OK; } if (id <= 0 && i) { if (soap_is_embedded(soap, pp)) { soap_element_ref(soap, tag, 0, i); return SOAP_OK; } if (soap_is_single(soap, pp)) i = 0; } else if (id > 0) i = id; soap_element_begin_out(soap, tag, i, "xsd:base64Binary"); if (i) soap_set_embedded(soap, pp); soap_putbase64(soap, a->__ptr, a->__size); soap_element_end_out(soap, tag); return SOAP_OK;}SOAP_FMAC3 struct xsd__base64Binary * SOAP_FMAC4 soap_get_xsd__base64Binary(struct soap *soap, struct xsd__base64Binary *p, const char *tag, const char *type){ if ((p = soap_in_xsd__base64Binary(soap, tag, p, type))) soap_getindependent(soap); return p;}SOAP_FMAC3 struct xsd__base64Binary * SOAP_FMAC4 soap_in_xsd__base64Binary(struct soap *soap, const char *tag, struct xsd__base64Binary *a, const char *type){ if (soap_element_begin_in(soap, tag)) return NULL; if (*soap->type && soap_match_tag(soap, soap->type, type) && soap_match_tag(soap, soap->type, "SOAP-ENC:base64") && soap_match_tag(soap, soap->type, "SOAP-ENC:base64Binary")) { soap->error = SOAP_TYPE_MISMATCH; soap_revert(soap); return NULL; } if (soap->null) { if ((a = (struct xsd__base64Binary *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_xsd__base64Binary, sizeof(struct xsd__base64Binary), 0))) soap_default_xsd__base64Binary(soap, a); if (soap->body && soap_element_end_in(soap, tag)) return NULL; } else if (!*soap->href) { if (!(a = (struct xsd__base64Binary *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_xsd__base64Binary, sizeof(struct xsd__base64Binary), 0))) return NULL; if (soap->alloced) soap_default_xsd__base64Binary(soap, a); if (soap->body) { a->__ptr = soap_getbase64(soap, (size_t*)&a->__size, 0); if (soap_element_end_in(soap, tag)) return NULL; } } else { a = (struct xsd__base64Binary *)soap_id_forward(soap, soap->href, (void**)soap_id_enter(soap, soap->id, a, SOAP_TYPE_xsd__base64Binary, sizeof(struct xsd__base64Binary), 0), SOAP_TYPE_xsd__base64Binary, sizeof(struct xsd__base64Binary)); if (soap->alloced) soap_default_xsd__base64Binary(soap, a); if (soap->body && soap_element_end_in(soap, tag)) return NULL; } return a;}#ifndef WITH_NOGLOBALSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *const*a){ if (!soap_reference(soap, a, SOAP_TYPE_PointerToSOAP_ENV__Code)) soap_mark_PointerToSOAP_ENV__Code(soap, a);}SOAP_FMAC3 void SOAP_FMAC4 soap_mark_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *const*a){ if (!soap_reference(soap, *a, SOAP_TYPE_SOAP_ENV__Code)) soap_mark_SOAP_ENV__Code(soap, *a);}SOAP_FMAC3 void SOAP_FMAC4 soap_default_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code **a){ *a = NULL;}SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code **a, const char *tag, const char *type){ int i = soap_embed_element(soap, (void*)a, tag, SOAP_TYPE_PointerToSOAP_ENV__Code); soap_out_PointerToSOAP_ENV__Code(soap, tag, i, a, type); return soap_putindependent(soap);}SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Code(struct soap *soap, const char *tag, int id, struct SOAP_ENV__Code *const*a, const char *type){ struct soap_plist *pp; register int i; id = soap_embedded_id(soap, id, a, SOAP_TYPE_PointerToSOAP_ENV__Code); if (!*a) return soap_element_null(soap, tag, id, type); i = soap_pointer_lookup(soap, *a, SOAP_TYPE_SOAP_ENV__Code, &pp); if (i) { if (soap_is_embedded(soap, pp)) return soap_element_ref(soap, tag, id, i); if (soap_is_single(soap, pp)) return soap_out_SOAP_ENV__Code(soap, tag, 0, *a, type); soap_set_embedded(soap, pp); return soap_out_SOAP_ENV__Code(soap, tag, i, *a, type); } return soap_out_SOAP_ENV__Code(soap, tag, soap_pointer_enter(soap, *a, SOAP_TYPE_SOAP_ENV__Code, &pp), *a, type);}SOAP_FMAC3 struct SOAP_ENV__Code ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code **p, const char *tag, const char *type){ if ((p = soap_in_PointerToSOAP_ENV__Code(soap, tag, p, type))) soap_getindependent(soap); return p;}SOAP_FMAC3 struct SOAP_ENV__Code ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Code(struct soap *soap, const char *tag, struct SOAP_ENV__Code **a, const char *type){ struct SOAP_ENV__Code *p; if (soap_element_begin_in(soap, tag)) return NULL; if (soap->null) { a = (struct SOAP_ENV__Code **)soap_id_enter(soap, soap->id, a, SOAP_TYPE_PointerToSOAP_ENV__Code, sizeof(struct SOAP_ENV__Code *), 1); if (a) *a = NULL; if (soap->body && soap_element_end_in(soap, tag)) return NULL; } else if (!*soap->href) { soap_revert(soap); if (a) { if ((p = soap_in_SOAP_ENV__Code(soap, tag, *a, type))) *a = p; else a = NULL; } else if ((p = soap_in_SOAP_ENV__Code(soap, tag, NULL, type))) { a = (struct SOAP_ENV__Code **)soap_id_enter(soap, "", NULL, SOAP_TYPE_PointerToSOAP_ENV__Code, sizeof(struct SOAP_ENV__Code *), 0); if (a) *a = p; } } else { a = (struct SOAP_ENV__Code **)soap_id_lookup(soap, soap->href, (void**)soap_id_enter(soap, soap->id, a, SOAP_TYPE_PointerToSOAP_ENV__Code, sizeof(struct SOAP_ENV__Code *), 1), SOAP_TYPE_SOAP_ENV__Code, sizeof(struct SOAP_ENV__Code), 0); if (soap->body && soap_element_end_in(soap, tag)) return NULL; } return a;}#endifSOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTodsmp__SyncOrderRelationResp(struct soap *soap, struct dsmp__SyncOrderRelationResp *const*a){ if (!soap_reference(soap, a, SOAP_TYPE_PointerTodsmp__SyncOrderRelationResp)) soap_mark_PointerTodsmp__SyncOrderRelationResp(soap, a);}SOAP_FMAC3 void SOAP_FMAC4 soap_mark_PointerTodsmp__SyncOrderRelationResp(struct soap *soap, struct dsmp__SyncOrderRelationResp *const*a){ if (!soap_reference(soap, *a, SOAP_TYPE_dsmp__SyncOrderRelationResp)) soap_mark_dsmp__SyncOrderRelationResp(soap, *a);}SOAP_FMAC3 void SOAP_FMAC4 soap_default_PointerTodsmp__SyncOrderRelationResp(struct soap *soap, struct dsmp__SyncOrderRelationResp **a){ *a = NULL;}SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTodsmp__SyncOrderRelationResp(struct soap *soap, struct dsmp__SyncOrderRelationResp **a, const char *tag, const char *type){ int i = soap_embed_element(soap, (void*)a, tag, SOAP_TYPE_PointerTodsmp__SyncOrderRelationResp); soap_out_PointerTodsmp__SyncOrderRelationResp(soap, tag, i, a, type); return soap_putindependent(soap);}SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTodsmp__SyncOrderRelationResp(struct soap *soap, const char *tag, int id, struct dsmp__SyncOrderRelationResp *const*a, const char *type){ struct soap_plist *pp; register int i; id = soap_embedded_id(soap, id, a, SOAP_TYPE_PointerTodsmp__SyncOrderRelationResp); if (!*a) return soap_element_null(soap, tag, id, type); i = soap_pointer_lookup(soap, *a, SOAP_TYPE_dsmp__SyncOrderRelationResp, &pp); if (i) { if (soap_is_embedded(soap, pp)) return soap_element_ref(soap, tag, id, i); if (soap_is_single(soap, pp)) return soap_out_dsmp__SyncOrderRelationResp(soap, tag, 0, *a, type); soap_set_embedded(soap, pp); return soap_out_dsmp__SyncOrderRelationResp(soap, tag, i, *a, type); } return soap_out_dsmp__SyncOrderRelationResp(soap, tag, soap_pointer_enter(soap, *a, SOAP_TYPE_dsmp__SyncOrderRelationResp, &pp), *a, type);}SOAP_FMAC3 struct dsmp__SyncOrderRelationResp ** SOAP_FMAC4 soap_get_PointerTodsmp__SyncOrderRelationResp(struct soap *soap, struct dsmp__SyncOrderRelationResp **p, const char *tag, const char *type){ if ((p = soap_in_PointerTodsmp__SyncOrderRelationResp(soap, tag, p, type))) soap_getindependent(soap); return p;}SOAP_FMAC3 struct dsmp__SyncOrderRelationResp ** SOAP_FMAC4 soap_in_PointerTodsmp__SyncOrderRelationResp(struct soap *soap, const char *tag, struct dsmp__SyncOrderRelationResp **a, const char *type){ struct dsmp__SyncOrderRelationResp *p; if (soap_element_begin_in(soap, tag)) return NULL; if (soap->null) { a = (struct dsmp__SyncOrderRelationResp **)soap_id_enter(soap, soap->id, a, SOAP_TYPE_PointerTodsmp__SyncOrderRelationResp, sizeof(struct dsmp__SyncOrderRelationResp *), 1); if (a) *a = NULL; if (soap->body && soap_element_end_in(soap, tag)) return NULL; } else if (!*soap->href) { soap_revert(soap); if (a) { if ((p = soap_in_dsmp__SyncOrderRelationResp(soap, tag, *a, type))) *a = p; else a = NULL; } else if ((p = soap_in_dsmp__SyncOrderRelationResp(soap, tag, NULL, type))) { a = (struct dsmp__SyncOrderRelationResp **)soap_id_enter(soap, "", NULL, SOAP_TYPE_PointerTodsmp__SyncOrderRelationResp, sizeof(struct dsmp__SyncOrderRelationResp *), 0); if (a) *a = p; } } else { a = (struct dsmp__SyncOrderRelationResp **)soap_id_lookup(soap, soap->href, (void**)soap_id_enter(soap, soap->id, a, SOAP_TYPE_PointerTodsmp__SyncOrderRelationResp, sizeof(struct dsmp__SyncOrderRelationResp *), 1), SOAP_TYPE_dsmp__SyncOrderRelationResp, sizeof(struct dsmp__SyncOrderRelationResp), 0); if (soap->body && soap_element_end_in(soap, tag)) return NULL; } return a;}SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTodsmp__SyncOrderRelationReq(struct soap *soap, struct dsmp__SyncOrderRelationReq *const*a){ if (!soap_reference(soap, a, SOAP_TYPE_PointerTodsmp__SyncOrderRelationReq)) soap_mark_PointerTodsmp__SyncOrderRelationReq(soap, a);}SOAP_FMAC3 void SOAP_FMAC4 soap_mark_PointerTodsmp__SyncOrderRelationReq(struct soap *soap, struct dsmp__SyncOrderRelationReq *const*a){ if (!soap_reference(soap, *a, SOAP_TYPE_dsmp__SyncOrderRelationReq)) soap_mark_dsmp__SyncOrderRelationReq(soap, *a);}SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTodsmp__SyncOrderRelationReq(struct soap *soap, struct dsmp__SyncOrderRelationReq **a, const char *tag, const char *type){ int i = soap_embed_element(soap, (void*)a, tag, SOAP_TYPE_PointerTodsmp__SyncOrderRelationReq); soap_out_PointerTodsmp__SyncOrderRelationReq(soap, tag, i, a, type); return soap_putindependent(soap);}SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTodsmp__SyncOrderRelationReq(struct soap *soap, const char *tag, int id, struct dsmp__SyncOrderRelationReq *const*a, const char *type){ struct soap_plist *pp; register int i; id = soap_embedded_id(soap, id, a, SOAP_TYPE_PointerTodsmp__SyncOrderRelationReq); if (!*a) return soap_element_null(soap, tag, id, type); i = soap_pointer_lookup(soap, *a, SOAP_TYPE_dsmp__SyncOrderRelationReq, &pp); if (i) { if (soap_is_embedded(soap, pp)) return soap_element_ref(soap, tag, id, i); if (soap_is_single(soap,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -