SOAP_FMAC1 void SOAP_FMAC2 soap_putheader(struct soap *soap) { if (soap->header) { soap->is_in_header = 1; soap_out_SOAP_ENV__Header(soap, "SOAP-ENV:Header", 0, soap->header, NULL); soap->is_in_header = 0; } }
SOAP_FMAC1 void SOAP_FMAC2 soap_put_SOAP_ENV__Header(struct soap *soap, struct SOAP_ENV__Header *a, const char *tag, const char *type) { int i; struct soap_plist *pp; if ((i = soap_pointer_lookup(soap, a, SOAP_SOAP_ENV__Header, &pp))) if (soap_is_embedded(soap, pp)) soap_element_ref(soap, tag, 0, i); else if (soap_is_single(soap, pp)) soap_out_SOAP_ENV__Header(soap, tag, 0, a, type); else { soap_set_embedded(soap, pp); soap_out_SOAP_ENV__Header(soap, tag, i, a, type); } else soap_out_SOAP_ENV__Header(soap, tag, 0, a, type); soap_putindependent(soap); }
SOAP_FMAC3 int SOAP_FMAC4 soap_putheader(struct soap *soap) { if (soap->header) { soap->part = SOAP_IN_HEADER; soap_out_SOAP_ENV__Header(soap, "SOAP-ENV:Header", 0, soap->header, NULL); soap->part = SOAP_END_HEADER; } return SOAP_OK; }
SOAP_FMAC1 void SOAP_FMAC2 soap_putindependent(struct soap *soap) { int i; struct soap_plist *pp; if (soap->enable_embedding || soap->disable_href) return; for (i = 0; i < SOAP_PTRHASH; i++) for (pp = soap->pht[i]; pp; pp = pp->next) if (soap->counting ? pp->mark1 == 2 : pp->mark2 == 2) switch (pp->type & 0x3FF) { case SOAP_byte: soap_out_byte(soap, "id", pp->id, (const char *)pp->ptr, ""); break; case SOAP_int: soap_out_int(soap, "id", pp->id, (const int *)pp->ptr, ""); break; case SOAP_float: soap_out_float(soap, "id", pp->id, (const float *)pp->ptr, ""); break; case SOAP_SOAP_ENV__Fault: soap_out_SOAP_ENV__Fault(soap, "id", pp->id, (const struct SOAP_ENV__Fault *)pp->ptr, ""); break; case SOAP_SOAP_ENV__Header: soap_out_SOAP_ENV__Header(soap, "id", pp->id, (const struct SOAP_ENV__Header *)pp->ptr, ""); break; case SOAP_ns__getQuote: soap_out_ns__getQuote(soap, "id", pp->id, (const struct ns__getQuote *)pp->ptr, "ns:getQuote"); break; case SOAP_ns__getQuoteResponse: soap_out_ns__getQuoteResponse(soap, "id", pp->id, (const struct ns__getQuoteResponse *)pp->ptr, "ns:getQuoteResponse"); break; case SOAP_string: soap_out_string(soap, "id", pp->id, (char**)&pp->ptr, ""); break; } }