2010-04-12 6 views
2

SOAP 헤더 안에 인증 토큰과 같은 정보를 보내고 싶습니다. gSOAP/c/Linux를 사용하고 있습니다. 패스하는 법을 도와주세요.gSOAP : 비누 헤더 안의 정보 전달 방법

/* SOAP Header: */ 
struct SOAP_ENV__Header 
{ 
    struct ns3__Header *ns3__MyHeader; /* mustUnderstand */ 
}; 

ns3__Header 같은

SOAP_ENV__Header 보이는 모든 사람을 귀찮게

같은
/* ns3:Header */ 
struct ns3__Header 
{ 
    char *Value; /* optional element of type xsd:string */ 
}; 

답변

2

죄송 보인다. 나는 그것을 알아. 나는 그것을 좋아 않았다

soap_init(&mysoap); 
    mysoap.header = (SOAP_ENV__Header *)soap_malloc(&mysoap, sizeof(SOAP_ENV__Header)); 
    mysoap.header->ns3__MyHeader = (ns3__Header*)malloc(sizeof(ns3__Header)); 
    mysoap.header->ns3__MyHeader->Value = (char*)malloc(10 * sizeof(char)); 
    strcpy(mysoap.header->ns3__MyHeader->Value, str); 

하지만 난 mustUnderstand에 억제했다 다음과 같이 속성 :

SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Header(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Header *a, const char *type) 
{ 
     if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Header), type)) 
      return soap->error; 
     //KNG 
     //soap->mustUnderstand = 1; 
     if (soap_out_PointerTons3__Header(soap, "ns3:MyHeader", -1, &a->ns3__MyHeader, "")) 
      return soap->error; 
     return soap_element_end_out(soap, tag); 
}