[ 
https://issues.apache.org/jira/browse/AXIS2C-635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12517968
 ] 

Dumindu Pallewela commented on AXIS2C-635:
------------------------------------------

Fixed in revision 561692.

> The axiom data handler returns incorrect length
> -----------------------------------------------
>
>                 Key: AXIS2C-635
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-635
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: xml/om
>         Environment: UNIX
>            Reporter: Malinda Kaushalye Kapuruge
>            Assignee: Dumindu Pallewela
>
> Call to axiom_data_handler_read_from(*****, length) returns incorrect value 
> for the length.
> When I send a message as follows[1] the content returns by the above method 
> contains EOL characters. If the service echos the MIME content the response 
> contains these characters. Here[2] is my server program.
> [1]<soapenv:Envelope>...</soapenv:Envelope>
>  --MIMEBoundary4b94e18e-2ade-1dc1-3b86-0010c6de319e
> content-transfer-encoding: binary
> content-id: <[EMAIL PROTECTED]>
> content-type: application/octet-stream
> [MY CONTENT]
> --MIMEBoundary4b94e18e-2ade-1dc1-3b86-0010c6de319e--
> [2]
> axis2_mtom_mtom(const axutil_env_t *env, axiom_node_t *node)
> {
>     axiom_node_t *ret_node = NULL;
>     axiom_node_t *array_node = NULL;
>     AXIS2_ENV_CHECK(env, NULL);
>     array_node = axiom_node_get_first_child(node, env);
>     if(array_node){
>         axiom_node_t *inc_node = NULL;
>         inc_node = axiom_node_get_first_child(array_node, env);
>         if(inc_node){
>             axiom_node_t *binary_node = NULL;
>             binary_node = axiom_node_get_first_child(inc_node, env);
>             if(binary_node){
>                 axiom_data_handler_t *data_handler = NULL;
>                 axiom_text_t *bin_text = (axiom_text_t *)
>                 axiom_node_get_data_element(binary_node, env);
>                 data_handler = axiom_text_get_data_handler(bin_text, env);
>                 if (data_handler)
>                 {
>                     axis2_char_t *text_str = NULL;
>                     int length;
>                     /*text_str = 
> axiom_data_handler_get_content_type(data_handler, env);*/
>                     /*text_str = 
> axiom_data_handler_get_input_stream(data_handler, env);*/
>                     axiom_data_handler_read_from(data_handler, env, 
> &text_str, &length );
>                     printf("Str[%d]= %s", length-2, text_str);
>                     text_str[length-2]='\0';
>                     ret_node = build_om_programatically(env, text_str);
>                 }
>             }
>         }
>     }
>     return ret_node;
> }
> /* Builds the response content */
> axiom_node_t *
> build_om_programatically(const axutil_env_t *env, axis2_char_t *text)
> {
>     axiom_node_t *mtom_om_node = NULL;
>     axiom_element_t* mtom_om_ele = NULL;
>     axiom_node_t *mtom2_om_node = NULL;
>     axiom_element_t* mtom2_om_ele = NULL;
>     axiom_namespace_t *ns1 = NULL;
>     ns1 = axiom_namespace_create(env, "http://xmlsoap.org/Ping";, "ns1");
>     mtom_om_ele = axiom_element_create(env, NULL, 
> "EchoBinaryAsStringResponse", ns1, &mtom_om_node);
>     mtom2_om_ele = axiom_element_create(env, mtom_om_node, 
> "EchoBinaryAsStringResult", ns1, &mtom2_om_node);
>     axiom_element_set_text(mtom2_om_ele, env, text, mtom2_om_node);
>     return mtom_om_node;
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to