M
melinav
Guest
I can generate my own soap-header, the problem is that Progress 4GL added to each element of the header prefix resulting in the following structure: SOAP-ENV:Header ns0:user xmlns:ns0="http://someurl.com" usuario /ns0:user ns0
wd xmlns:ns0="http://someurl.com" password /ns0
wd /SOAP-ENV:Header And the structure that i need, without the prefix's and namespace's, is the next: SOAP-ENV:Header user usuario /user pwd password /pwd /SOAP-ENV:Header Sorry for my bad english. Can anyone help me? This is the procedure that i use for create the soap-header: /* procedure that creates a soap-header */ /* Define procedure parameter */ DEFINE OUTPUT PARAMETER hHeader AS HANDLE. DEFINE VARIABLE hHeaderEntryref AS HANDLE. DEFINE VARIABLE hXnoderef1 AS HANDLE. DEFINE VARIABLE hXnoderef2 AS HANDLE. DEFINE VARIABLE hXnoderef3 AS HANDLE. DEFINE VARIABLE hXNameAttr AS HANDLE. DEFINE VARIABLE hXtext AS HANDLE. DEFINE VARIABLE hXdoc AS HANDLE. CREATE X-NODEREF hXnoderef1. CREATE X-NODEREF hXnoderef2. CREATE X-NODEREF hXnoderef3. CREATE X-NODEREF hXtext. CREATE X-DOCUMENT hXdoc. /* Create SOAP header and server objects */ CREATE SOAP-HEADER hHeader. CREATE SOAP-HEADER-ENTRYREF hHeaderEntryref. /* Create the header entry */ hHeader:ADD-HEADER-ENTRY(hHeaderEntryref). /* Create the Username/Password data */ hXdoc:CREATE-NODE-NAMESPACE(hXnoderef1, "http://www.w3.org/BaufestProductivityFramework", "ContextInformation", "ELEMENT"). hXnoderef1:SET-ATTRIBUTE("xmlns:i", "http://www.w3.org/2001/XMLSchema-instance"). hXdoc:INSERT-BEFORE(hXnoderef1, ?). hXdoc:CREATE-NODE-NAMESPACE(hXnoderef2, "http://schemas.datacontract.org/2004/07/Bpf.Common.Service", "ClientIp", "ELEMENT"). hXnoderef1:APPEND-CHILD(hXnoderef2). hXdoc:CREATE-NODE(hXtext,"","text"). hXnoderef2:APPEND-CHILD(hXtext). hXtext:NODE-VALUE = "000.00.00.00". hXdoc:CREATE-NODE-NAMESPACE(hXnoderef2, "http://schemas.datacontract.org/2004/07/Bpf.Common.Service", "CompanyId", "ELEMENT"). hXnoderef1:APPEND-CHILD(hXnoderef2). hXdoc:CREATE-NODE(hXtext,"","text"). hXnoderef2:APPEND-CHILD(hXtext). hXtext:NODE-VALUE = "1". hXdoc:CREATE-NODE-NAMESPACE(hXnoderef2, "http://schemas.datacontract.org/2004/07/Bpf.Common.Service", "Culture", "ELEMENT"). hXnoderef1:APPEND-CHILD(hXnoderef2). hXdoc:CREATE-NODE(hXtext,"","text"). hXnoderef2:APPEND-CHILD(hXtext). hXtext:NODE-VALUE = "en-US". hXdoc:CREATE-NODE-NAMESPACE(hXnoderef2, "http://schemas.datacontract.org/2004/07/Bpf.Common.Service", "HighCode", "ELEMENT"). hXnoderef1:APPEND-CHILD(hXnoderef2). hXdoc:CREATE-NODE(hXtext,"","text"). hXnoderef2:APPEND-CHILD(hXtext). hXtext:NODE-VALUE = "0". hXdoc:CREATE-NODE-NAMESPACE(hXnoderef2, "http://schemas.datacontract.org/2004/07/Bpf.Common.Service", "MaxId", "ELEMENT"). hXnoderef1:APPEND-CHILD(hXnoderef2). hXdoc:CREATE-NODE(hXtext,"","text"). hXnoderef2:APPEND-CHILD(hXtext). hXtext:NODE-VALUE = "0". hXdoc:CREATE-NODE-NAMESPACE(hXnoderef2, "http://schemas.datacontract.org/2004/07/Bpf.Common.Service", "OfficeId", "ELEMENT"). hXnoderef1:APPEND-CHILD(hXnoderef2). hXdoc:CREATE-NODE(hXtext,"","text"). hXnoderef2:APPEND-CHILD(hXtext). hXtext:NODE-VALUE = "0". hXdoc:CREATE-NODE-NAMESPACE(hXnoderef2, "http://schemas.datacontract.org/2004/07/Bpf.Common.Service", "TerminalId", "ELEMENT"). hXnoderef1:APPEND-CHILD(hXnoderef2). hXdoc:CREATE-NODE(hXtext,"","text"). hXnoderef2:APPEND-CHILD(hXtext). hXtext:NODE-VALUE = "0". hXdoc:CREATE-NODE-NAMESPACE(hXnoderef2, "http://schemas.datacontract.org/2004/07/Bpf.Common.Service", "TimeZone", "ELEMENT"). hXnoderef2:SET-ATTRIBUTE("i:nil","true"). hXnoderef1:APPEND-CHILD(hXnoderef2). hXdoc:CREATE-NODE-NAMESPACE(hXnoderef2, "http://schemas.datacontract.org/2004/07/Bpf.Common.Service", "UserId", "ELEMENT"). hXnoderef1:APPEND-CHILD(hXnoderef2). hXdoc:CREATE-NODE(hXtext,"","text"). hXnoderef2:APPEND-CHILD(hXtext). hXtext:NODE-VALUE = "0". hXdoc:CREATE-NODE-NAMESPACE(hXnoderef2, "http://schemas.datacontract.org/2004/07/Bpf.Common.Service", "UserName", "ELEMENT"). hXnoderef1:APPEND-CHILD(hXnoderef2). hXdoc:CREATE-NODE(hXtext,"","text"). hXnoderef2:APPEND-CHILD(hXtext). hXtext:NODE-VALUE = "Cliente RMBroker". /* Fill the header entry using a deep copy */ hHeaderEntryref:SET-NODE(hXnoderef1). CREATE X-DOCUMENT hXdoc. CREATE X-NODEREF hXnoderef1. CREATE X-NODEREF hXnoderef2. CREATE X-NODEREF hXtext. CREATE X-NODEREF hNoderef. CREATE X-NODEREF hXNameAttr. CREATE SOAP-HEADER-ENTRYREF hHeaderEntryref. /* Create the header entry */ hHeader:ADD-HEADER-ENTRY(hHeaderEntryref). hXdoc:CREATE-NODE-NAMESPACE(hXnoderef1, "http://www.w3.org/BaufestProductivityFramework", "TokenInformation", "ELEMENT"). hXdoc:APPEND-CHILD(hXnoderef1). hXdoc:CREATE-NODE-NAMESPACE(hXNameAttr, "http://www.w3.org/2000/xmlns/", "xmlns:i", "ATTRIBUTE"). hXNameAttr:NODE-VALUE="http://www.w3.org/2001/XMLSchema-instance". hXnoderef1:SET-ATTRIBUTE-NODE(hXNameAttr). hXdoc:CREATE-NODE-NAMESPACE(hXnoderef2, "http://schemas.datacontract.org/2004/07/Bpf.Security.Common", "creationDate", "ELEMENT"). hXnoderef1:APPEND-CHILD(hXnoderef2). hXdoc:CREATE-NODE(hXtext,"","text"). hXnoderef2:APPEND-CHILD(hXtext). hXtext:NODE-VALUE = cdate. hXdoc:CREATE-NODE-NAMESPACE(hXnoderef2, "http://schemas.datacontract.org/2004/07/Bpf.Security.Common", "id", "ELEMENT"). hXnoderef2:SET-ATTRIBUTE("xmlns:d4p1", "http://www.w3.org/2001/XMLSchema"). hXdoc:CREATE-NODE-NAMESPACE(hXNameAttr, "http://www.w3.org/2001/XMLSchema-instance", "i:type", "ATTRIBUTE"). hXNameAttr:NODE-VALUE="d4p1:string". hXnoderef2:SET-ATTRIBUTE-NODE(hXNameAttr). hXnoderef1:APPEND-CHILD(hXnoderef2). hXdoc:CREATE-NODE(hXtext,"","text"). hXnoderef2:APPEND-CHILD(hXtext). hXtext:NODE-VALUE = token. /* Fill the header entry using a deep copy */ hHeaderEntryref:SET-NODE(hXnoderef1). /* Procedure/header cleanup */ DELETE OBJECT hXdoc. DELETE OBJECT hXnoderef1. DELETE OBJECT hXnoderef2. DELETE OBJECT hXnoderef3. DELETE OBJECT hXtext. DELETE OBJECT hHeaderEntryref.
Continue reading...


Continue reading...