# soap builder
[SOAP]

## Functions
AXIS2_EXTERN axiom_soap_builder_t * | axiom_soap_builder_create (const axutil_env_t *env, axiom_stax_builder_t *builder, const axis2_char_t *soap_version)
AXIS2_EXTERN void | axiom_soap_builder_free (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN axiom_soap_envelope_t * | axiom_soap_builder_get_soap_envelope (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN axiom_document_t * | axiom_soap_builder_get_document (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axiom_soap_builder_next (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN axiom_node_t * | axiom_soap_builder_get_document_element (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axiom_soap_builder_set_bool_processing_mandatory_fault_elements (axiom_soap_builder_t *builder, const axutil_env_t *env, axis2_bool_t value)
AXIS2_EXTERN axis2_status_t | axiom_soap_builder_set_processing_detail_elements (axiom_soap_builder_t *builder, const axutil_env_t *env, axis2_bool_t value)
AXIS2_EXTERN axis2_bool_t | axiom_soap_builder_is_processing_detail_elements (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN int | axiom_soap_builder_get_soap_version (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axiom_soap_builder_process_namespace_data (axiom_soap_builder_t *builder, const axutil_env_t *env, axiom_node_t *om_node, axis2_bool_t is_soap_element)
AXIS2_EXTERN axis2_status_t | axiom_soap_builder_set_mime_body_parts (axiom_soap_builder_t *builder, const axutil_env_t *env, axutil_hash_t *map)
AXIS2_EXTERN axutil_hash_t * | axiom_soap_builder_get_mime_body_parts (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN void | axiom_soap_builder_set_mime_parser (axiom_soap_builder_t *builder, const axutil_env_t *env, axiom_mime_parser_t *mime_parser)
AXIS2_EXTERN void | axiom_soap_builder_set_callback_function (axiom_soap_builder_t *builder, const axutil_env_t *env, AXIS2_READ_INPUT_CALLBACK callback)
AXIS2_EXTERN void | axiom_soap_builder_set_callback_ctx (axiom_soap_builder_t *builder, const axutil_env_t *env, void *callback_ctx)
AXIS2_EXTERN axis2_status_t | axiom_soap_builder_create_attachments (axiom_soap_builder_t *builder, const axutil_env_t *env, void *user_param, axis2_char_t *callback_name)
AXIS2_EXTERN axis2_bool_t | axiom_soap_builder_replace_xop (axiom_soap_builder_t *builder, const axutil_env_t *env, axiom_node_t *om_element_node, axiom_element_t *om_element)

## Function Documentation

AXIS2_EXTERN axiom_soap_builder_t* axiom_soap_builder_create | ( | const axutil_env_t * | env,
|  | axiom_stax_builder_t * | builder,
|  | const axis2_char_t * | soap_version |
| ) |  |  |

creates a axiom_soap_builder struct

Parameters:

  | env | Environment. MUST NOT be NULL
  | builder | Stax builder

Returns:
  the created SOAP Builder

AXIS2_EXTERN void axiom_soap_builder_free | ( | axiom_soap_builder_t * | builder,
|  | const axutil_env_t * | env |
| ) |  |  |

Free the SOAP Builder

Parameters:

  | builder | pointer to the SOAP Builder struct
  | env | Environment. MUST NOT be NULL

Returns:
  VOID

AXIS2_EXTERN axiom_document_t* axiom_soap_builder_get_document | ( | axiom_soap_builder_t * | builder,
|  | const axutil_env_t * | env |
| ) |  |  |

Get the OM document of the SOAP Buidler

Parameters:

  | builder | pointer to the SOAP Builder struct
  | env | Environment. MUST NOT be NULL

Returns:
  the OM document

AXIS2_EXTERN axiom_node_t* axiom_soap_builder_get_document_element | ( | axiom_soap_builder_t * | builder,
|  | const axutil_env_t * | env |
| ) |  |  |

Parameters:

  | builder | pointer to the SOAP Builder struct
  | env | Environment. MUST NOT be NULL

Returns:
  the axiom_node of the OM document

AXIS2_EXTERN axutil_hash_t* axiom_soap_builder_get_mime_body_parts | ( | axiom_soap_builder_t * | builder,
|  | const axutil_env_t * | env |
| ) |  |  |

Get the MIME body parts

Parameters:

  | builder | pointer to the SOAP Builder struct
  | env | Environment. MUST NOT be NULL

Returns:
  hash of mime body parts

AXIS2_EXTERN axiom_soap_envelope_t* axiom_soap_builder_get_soap_envelope | ( | axiom_soap_builder_t * | builder,
|  | const axutil_env_t * | env |
| ) |  |  |

Get the SOAP envelope of the SOAP builder

Parameters:

  | builder | pointer to the SOAP Builder struct
  | env | Environment. MUST NOT be NULL

Returns:
  the SOAP envelope

AXIS2_EXTERN int axiom_soap_builder_get_soap_version | ( | axiom_soap_builder_t * | builder,
|  | const axutil_env_t * | env |
| ) |  |  |

Get the SOAP version

Parameters:

  | builder | pointer to the SOAP Builder struct
  | env | Environment. MUST NOT be NULL

Returns:
  the SOAP version

AXIS2_EXTERN axis2_bool_t axiom_soap_builder_is_processing_detail_elements | ( | axiom_soap_builder_t * | builder,
|  | const axutil_env_t * | env |
| ) |  |  |

Parameters:

  | builder | pointer to the SOAP Builder struct
  | env | Environment. MUST NOT be NULL

Returns:
  AXIS2_TRUE if the the element is present, AXIS2_FALSE otherwise

AXIS2_EXTERN axis2_status_t axiom_soap_builder_next | ( | axiom_soap_builder_t * | builder,
|  | const axutil_env_t * | env |
| ) |  |  |

Parameters:

  | builder | pointer to the SOAP Builder struct
  | env | Environment. MUST NOT be NULL

Returns:
  AXIS2_SUCCESS if the next element is present else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_soap_builder_process_namespace_data | ( | axiom_soap_builder_t * | builder,
|  | const axutil_env_t * | env,
|  | axiom_node_t * | om_node,
|  | axis2_bool_t | is_soap_element |
| ) |  |  |

Process and verifies namespace data of

Parameters:

  | om_node |
  | builder | pointer to the SOAP Builder struct
  | env | Environment. MUST NOT be NULL

Returns:
  AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_soap_builder_set_bool_processing_mandatory_fault_elements | ( | axiom_soap_builder_t * | builder,
|  | const axutil_env_t * | env,
|  | axis2_bool_t | value |
| ) |  |  |

Parameters:

  | builder | pointer to the SOAP Builder struct
  | env | Environment. MUST NOT be NULL

Returns:
  AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN void axiom_soap_builder_set_callback_ctx | ( | axiom_soap_builder_t * | builder,
|  | const axutil_env_t * | env,
|  | void * | callback_ctx |
| ) |  |  |

Set the callback_ctx

Parameters:

  | builder | pointer to the SOAP Builder struct
  | env | Environment. MUST NOT be NULL
  | void | pointer to the callback_ctx

AXIS2_EXTERN void axiom_soap_builder_set_callback_function | ( | axiom_soap_builder_t * | builder,
|  | const axutil_env_t * | env,
|  | AXIS2_READ_INPUT_CALLBACK | callback |
| ) |  |  |

Set the callback function

Parameters:

  | builder | pointer to the SOAP Builder struct
  | env | Environment. MUST NOT be NULL
  | callback | to the callback function pointer

AXIS2_EXTERN axis2_status_t axiom_soap_builder_set_mime_body_parts | ( | axiom_soap_builder_t * | builder,
|  | const axutil_env_t * | env,
|  | axutil_hash_t * | map |
| ) |  |  |

Set the MIME body parts

Parameters:

  | builder | pointer to the SOAP Builder struct
  | env | Environment. MUST NOT be NULL

Returns:
  AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN void axiom_soap_builder_set_mime_parser | ( | axiom_soap_builder_t * | builder,
|  | const axutil_env_t * | env,
|  | axiom_mime_parser_t * | mime_parser |
| ) |  |  |

Set the mime_parser

Parameters:

  | builder | pointer to the SOAP Builder struct
  | env | Environment. MUST NOT be NULL mime_parser pointer to a axiom_mime_parser_t instance

AXIS2_EXTERN axis2_status_t axiom_soap_builder_set_processing_detail_elements | ( | axiom_soap_builder_t * | builder,
|  | const axutil_env_t * | env,
|  | axis2_bool_t | value |
| ) |  |  |

Parameters:

  | builder | pointer to the SOAP Builder struct
  | env | Environment. MUST NOT be NULL

Returns:
  AXIS2_SUCCESS on success else AXIS2_FAILURE