how i deserialize saml avowal rampart/c (axis2/c)?
i have saml 1.1 saml 1.0 responses utf-8 char * buffers, i reconstruct rampart/c saml_response_t * objects. doubt this:
what repremand slight formulating saml_response_t string?
ideally i'd formula illustration c does following disposes several parser collection repremand order, given axis2/c rare ideas giveaway memory.
my efforts have met failure, indirect especially memory faults, nonetheless here's i have. keep mind deserialize_buffer() slight does only says -- translates aegis an axiom_node_t *, nonetheless i'm open replacing well.
/* : tender xml saml avowal */
xml_data = tcl_getstringfromobj (objv[2], &xml_length);
/* : parse response xml guess */
stream = gstream_mem_create (xml_data, xml_length);
node = axis2_axiom_deserialize_buffer (env, stream);
/* : build saml response parsed xml */
saml_response = saml_response_create (env);
saml_response_build (saml_response, node, env);
arraylist = saml_response_get_assertions (saml_response, env);
/* : emanate the relapse value vigilant */
obj = tcl_newlistobj (0, null);
/* :- modify saml avowal twine */
for (i = 0;
i < axutil_array_list_size (arraylist, env);
i++) {
saml_assertion = (saml_assertion_t *) axutil_array_list_get (arraylist, env, i);
(saml_assertion != null) {
assertion_node = saml_assertion_to_om (saml_assertion, null, env);
component = tcl_newstringobj (axiom_node_to_string (node, env), -1);
tcl_listobjappendelement (interp, obj, element);
axiom_node_free_tree (assertion_node, env);
}
}
Comments
Post a Comment