From 432f2e2eb65a1746fc5e14ad91c0b97a366d1916 Mon Sep 17 00:00:00 2001 From: nandika Date: Wed, 18 Aug 2010 14:45:56 +0000 Subject: license added git-svn-id: http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk@986711 13f79535-47bb-0310-9956-ffa450edef68 --- .../amqp/sender/qpid_sender/axis2_qpid_sender.cpp | 484 ++++++++++----------- .../amqp/sender/qpid_sender/axis2_qpid_sender.h | 30 +- .../qpid_sender/axis2_qpid_sender_interface.cpp | 260 +++++------ 3 files changed, 387 insertions(+), 387 deletions(-) (limited to 'src/core/transport/amqp/sender') diff --git a/src/core/transport/amqp/sender/qpid_sender/axis2_qpid_sender.cpp b/src/core/transport/amqp/sender/qpid_sender/axis2_qpid_sender.cpp index 7f0799b..ed4dc19 100644 --- a/src/core/transport/amqp/sender/qpid_sender/axis2_qpid_sender.cpp +++ b/src/core/transport/amqp/sender/qpid_sender/axis2_qpid_sender.cpp @@ -1,242 +1,242 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * tcp://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -using namespace std; -using namespace qpid::client; -using namespace qpid::framing; - -Axis2QpidSender::Axis2QpidSender( - string qpidBrokerIP, - int qpidBrokerPort, - const axutil_env_t* env) -{ - this->qpidBrokerIP = qpidBrokerIP; - this->qpidBrokerPort = qpidBrokerPort; - this->env = env; - this->responseContent = ""; - this->responseContentType = ""; -} - -Axis2QpidSender::~Axis2QpidSender( - void) -{ -} - -bool -Axis2QpidSender::SendReceive( - string messageContent, - string toQueueName, - bool isSOAP11, - string contentType, - string soapAction, - axutil_array_list_t* mime_parts, - int timeout) -{ - bool status = false; - this->responseContent = ""; - this->responseContentType = ""; - - try - { - Connection connection; - connection.open(qpidBrokerIP, qpidBrokerPort); - - Session session = connection.newSession(); - - /* Declare Private Queue */ - string replyToQueueName = AXIS2_AMQP_TEMP_QUEUE_NAME_PREFIX; - replyToQueueName.append(axutil_uuid_gen(env)); - - session.queueDeclare(arg::queue = replyToQueueName, arg::autoDelete = true); - session.exchangeBind(arg::exchange = AXIS2_AMQP_EXCHANGE_DIRECT, arg::queue - = replyToQueueName, arg::bindingKey = replyToQueueName); - - /* Create Message */ - Message reqMessage; - - reqMessage.getDeliveryProperties().setRoutingKey(toQueueName); - reqMessage.getMessageProperties().setReplyTo(ReplyTo(AXIS2_AMQP_EXCHANGE_DIRECT, - replyToQueueName)); - - reqMessage.getHeaders().setString(AXIS2_AMQP_HEADER_CONTENT_TYPE, contentType); - reqMessage.getHeaders().setString(AXIS2_AMQP_HEADER_SOAP_ACTION, soapAction); - - if(mime_parts) - { - string mimeBody; - GetMimeBody(mime_parts, mimeBody); - - messageContent.clear();/* MIME parts include SOAP envelop */ - - messageContent.append(mimeBody); - } - - reqMessage.setData(messageContent); - - session.messageTransfer(arg::content = reqMessage, arg::destination - = AXIS2_AMQP_EXCHANGE_DIRECT); - - /* Create subscription manager */ - SubscriptionManager subscriptionManager(session); - - Message resMessage; - qpid::sys::Duration reqTimeout(timeout * AXIS2_AMQP_NANOSEC_PER_MILLISEC); - - if(subscriptionManager.get(resMessage, replyToQueueName, reqTimeout)) - { - responseContent = resMessage.getData(); - responseContentType = resMessage.getHeaders().getAsString( - AXIS2_AMQP_HEADER_CONTENT_TYPE); - - status = true; - } - - connection.close(); - } - catch(const std::exception& e) - { - } - - return status; -} - -bool -Axis2QpidSender::Send( - string messageContent, - string toQueueName, - string replyToQueueName, - bool isSOAP11, - string contentType, - string soapAction, - axutil_array_list_t* mime_parts) -{ - bool status = false; - - try - { - Connection connection; - connection.open(qpidBrokerIP, qpidBrokerPort); - - Session session = connection.newSession(); - - /* Create Message */ - Message message; - - message.getDeliveryProperties().setRoutingKey(toQueueName); - - if(!replyToQueueName.empty()) /* Client dual-channel */ - { - message.getMessageProperties().setReplyTo(ReplyTo(AXIS2_AMQP_EXCHANGE_DIRECT, - replyToQueueName)); - - session.queueDeclare(arg::queue = replyToQueueName); - session.exchangeBind(arg::exchange = AXIS2_AMQP_EXCHANGE_DIRECT, arg::queue - = replyToQueueName, arg::bindingKey = replyToQueueName); - } - - message.getHeaders().setString(AXIS2_AMQP_HEADER_CONTENT_TYPE, contentType); - message.getHeaders().setString(AXIS2_AMQP_HEADER_SOAP_ACTION, soapAction); - - if(mime_parts) - { - string mimeBody; - GetMimeBody(mime_parts, mimeBody); - - messageContent.clear();/* MIME parts include SOAP envelop */ - - messageContent.append(mimeBody); - } - - message.setData(messageContent); - - session.messageTransfer(arg::content = message, arg::destination - = AXIS2_AMQP_EXCHANGE_DIRECT); - - connection.close(); - - status = true; - } - catch(const std::exception& e) - { - } - - return status; -} - -void -Axis2QpidSender::GetMimeBody( - axutil_array_list_t* mime_parts, - string& mimeBody) -{ - int i = 0; - axiom_mime_part_t *mime_part = NULL; - axis2_status_t status = AXIS2_SUCCESS; - - if(!mime_parts) - return; - - for(i = 0; i < axutil_array_list_size(mime_parts, env); i++) - { - mime_part = (axiom_mime_part_t *)axutil_array_list_get(mime_parts, env, i); - - if(mime_part->type == AXIOM_MIME_PART_BUFFER) - { - mimeBody.append(mime_part->part, mime_part->part_size); - } - else if(mime_part->type == AXIOM_MIME_PART_FILE) - { - int length; - char* buffer; - - ifstream file; - file.open(mime_part->file_name, ios::binary); - - file.seekg(0, ios::end); - length = file.tellg(); - file.seekg(0, ios::beg); - - buffer = new char[length]; - - file.read(buffer, length); - file.close(); - - mimeBody.append(buffer, length); - - delete[] buffer; - } - else - { - AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Unknown mime type"); - return; - } - - if(status == AXIS2_FAILURE) - { - break; - } - } -} +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace std; +using namespace qpid::client; +using namespace qpid::framing; + +Axis2QpidSender::Axis2QpidSender( + string qpidBrokerIP, + int qpidBrokerPort, + const axutil_env_t* env) +{ + this->qpidBrokerIP = qpidBrokerIP; + this->qpidBrokerPort = qpidBrokerPort; + this->env = env; + this->responseContent = ""; + this->responseContentType = ""; +} + +Axis2QpidSender::~Axis2QpidSender( + void) +{ +} + +bool +Axis2QpidSender::SendReceive( + string messageContent, + string toQueueName, + bool isSOAP11, + string contentType, + string soapAction, + axutil_array_list_t* mime_parts, + int timeout) +{ + bool status = false; + this->responseContent = ""; + this->responseContentType = ""; + + try + { + Connection connection; + connection.open(qpidBrokerIP, qpidBrokerPort); + + Session session = connection.newSession(); + + /* Declare Private Queue */ + string replyToQueueName = AXIS2_AMQP_TEMP_QUEUE_NAME_PREFIX; + replyToQueueName.append(axutil_uuid_gen(env)); + + session.queueDeclare(arg::queue = replyToQueueName, arg::autoDelete = true); + session.exchangeBind(arg::exchange = AXIS2_AMQP_EXCHANGE_DIRECT, arg::queue + = replyToQueueName, arg::bindingKey = replyToQueueName); + + /* Create Message */ + Message reqMessage; + + reqMessage.getDeliveryProperties().setRoutingKey(toQueueName); + reqMessage.getMessageProperties().setReplyTo(ReplyTo(AXIS2_AMQP_EXCHANGE_DIRECT, + replyToQueueName)); + + reqMessage.getHeaders().setString(AXIS2_AMQP_HEADER_CONTENT_TYPE, contentType); + reqMessage.getHeaders().setString(AXIS2_AMQP_HEADER_SOAP_ACTION, soapAction); + + if(mime_parts) + { + string mimeBody; + GetMimeBody(mime_parts, mimeBody); + + messageContent.clear();/* MIME parts include SOAP envelop */ + + messageContent.append(mimeBody); + } + + reqMessage.setData(messageContent); + + session.messageTransfer(arg::content = reqMessage, arg::destination + = AXIS2_AMQP_EXCHANGE_DIRECT); + + /* Create subscription manager */ + SubscriptionManager subscriptionManager(session); + + Message resMessage; + qpid::sys::Duration reqTimeout(timeout * AXIS2_AMQP_NANOSEC_PER_MILLISEC); + + if(subscriptionManager.get(resMessage, replyToQueueName, reqTimeout)) + { + responseContent = resMessage.getData(); + responseContentType = resMessage.getHeaders().getAsString( + AXIS2_AMQP_HEADER_CONTENT_TYPE); + + status = true; + } + + connection.close(); + } + catch(const std::exception& e) + { + } + + return status; +} + +bool +Axis2QpidSender::Send( + string messageContent, + string toQueueName, + string replyToQueueName, + bool isSOAP11, + string contentType, + string soapAction, + axutil_array_list_t* mime_parts) +{ + bool status = false; + + try + { + Connection connection; + connection.open(qpidBrokerIP, qpidBrokerPort); + + Session session = connection.newSession(); + + /* Create Message */ + Message message; + + message.getDeliveryProperties().setRoutingKey(toQueueName); + + if(!replyToQueueName.empty()) /* Client dual-channel */ + { + message.getMessageProperties().setReplyTo(ReplyTo(AXIS2_AMQP_EXCHANGE_DIRECT, + replyToQueueName)); + + session.queueDeclare(arg::queue = replyToQueueName); + session.exchangeBind(arg::exchange = AXIS2_AMQP_EXCHANGE_DIRECT, arg::queue + = replyToQueueName, arg::bindingKey = replyToQueueName); + } + + message.getHeaders().setString(AXIS2_AMQP_HEADER_CONTENT_TYPE, contentType); + message.getHeaders().setString(AXIS2_AMQP_HEADER_SOAP_ACTION, soapAction); + + if(mime_parts) + { + string mimeBody; + GetMimeBody(mime_parts, mimeBody); + + messageContent.clear();/* MIME parts include SOAP envelop */ + + messageContent.append(mimeBody); + } + + message.setData(messageContent); + + session.messageTransfer(arg::content = message, arg::destination + = AXIS2_AMQP_EXCHANGE_DIRECT); + + connection.close(); + + status = true; + } + catch(const std::exception& e) + { + } + + return status; +} + +void +Axis2QpidSender::GetMimeBody( + axutil_array_list_t* mime_parts, + string& mimeBody) +{ + int i = 0; + axiom_mime_part_t *mime_part = NULL; + axis2_status_t status = AXIS2_SUCCESS; + + if(!mime_parts) + return; + + for(i = 0; i < axutil_array_list_size(mime_parts, env); i++) + { + mime_part = (axiom_mime_part_t *)axutil_array_list_get(mime_parts, env, i); + + if(mime_part->type == AXIOM_MIME_PART_BUFFER) + { + mimeBody.append(mime_part->part, mime_part->part_size); + } + else if(mime_part->type == AXIOM_MIME_PART_FILE) + { + int length; + char* buffer; + + ifstream file; + file.open(mime_part->file_name, ios::binary); + + file.seekg(0, ios::end); + length = file.tellg(); + file.seekg(0, ios::beg); + + buffer = new char[length]; + + file.read(buffer, length); + file.close(); + + mimeBody.append(buffer, length); + + delete[] buffer; + } + else + { + AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Unknown mime type"); + return; + } + + if(status == AXIS2_FAILURE) + { + break; + } + } +} diff --git a/src/core/transport/amqp/sender/qpid_sender/axis2_qpid_sender.h b/src/core/transport/amqp/sender/qpid_sender/axis2_qpid_sender.h index e797c71..f87a29e 100644 --- a/src/core/transport/amqp/sender/qpid_sender/axis2_qpid_sender.h +++ b/src/core/transport/amqp/sender/qpid_sender/axis2_qpid_sender.h @@ -1,19 +1,19 @@ /* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * tcp://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ #ifndef AXIS2_QPID_SENDER_H #define AXIS2_QPID_SENDER_H diff --git a/src/core/transport/amqp/sender/qpid_sender/axis2_qpid_sender_interface.cpp b/src/core/transport/amqp/sender/qpid_sender/axis2_qpid_sender_interface.cpp index ac4f51e..72766ed 100644 --- a/src/core/transport/amqp/sender/qpid_sender/axis2_qpid_sender_interface.cpp +++ b/src/core/transport/amqp/sender/qpid_sender/axis2_qpid_sender_interface.cpp @@ -1,130 +1,130 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -#include -#include -#include - -#ifdef __cplusplus -extern "C" -{ -#endif - -AXIS2_EXTERN axis2_amqp_response_t* AXIS2_CALL -axis2_qpid_send_receive( - const axis2_char_t* request_content, - const axutil_env_t* env, - const axis2_char_t* content_type, - const axis2_char_t* soap_action, - axis2_msg_ctx_t* msg_ctx) -{ - axis2_amqp_destination_info_t* destination_info = NULL; - destination_info = axis2_amqp_util_msg_ctx_get_destination_info(msg_ctx, env); - - if (!destination_info || !destination_info->broker_ip || - !destination_info->broker_port || !destination_info->queue_name) - { - return NULL; - } - - axis2_bool_t is_soap_11 = axis2_msg_ctx_get_is_soap_11(msg_ctx, env); - axutil_array_list_t* mime_parts = axis2_msg_ctx_get_mime_parts(msg_ctx, env); - int timeout = axis2_amqp_util_msg_ctx_get_request_timeout(msg_ctx, env); - - /* Get Response */ - Axis2QpidSender qpid_sender(destination_info->broker_ip, - destination_info->broker_port, env); - - bool status = qpid_sender.SendReceive(request_content, destination_info->queue_name, - is_soap_11, content_type, soap_action, mime_parts, timeout); - - axis2_amqp_destination_info_free(destination_info, env); - - if (!status) - { - return NULL; - } - - /* Create response */ - axis2_amqp_response_t* response = (axis2_amqp_response_t*)AXIS2_MALLOC( - env->allocator, sizeof(axis2_amqp_response_t)); - - /* Data */ - response->data = AXIS2_MALLOC(env->allocator, qpid_sender.responseContent.size()); - memcpy(response->data, qpid_sender.responseContent.c_str(), - qpid_sender.responseContent.size()); - - /* Length */ - response->length = qpid_sender.responseContent.size(); - - /* ContentType */ - response->content_type = (axis2_char_t*)AXIS2_MALLOC( - env->allocator, qpid_sender.responseContentType.size() + 1); - strcpy(response->content_type, qpid_sender.responseContentType.c_str()); - - return response; -} - - -AXIS2_EXTERN axis2_status_t AXIS2_CALL -axis2_qpid_send( - const axis2_char_t* request_content, - const axutil_env_t* env, - const axis2_char_t* content_type, - const axis2_char_t* soap_action, - axis2_msg_ctx_t* msg_ctx) -{ - axis2_amqp_destination_info_t* destination_info = NULL; - axis2_status_t status = AXIS2_FAILURE; - string reply_to_queue_name = ""; - - destination_info = axis2_amqp_util_msg_ctx_get_destination_info(msg_ctx, env); - - if (!destination_info || !destination_info->broker_ip || - !destination_info->broker_port || !destination_info->queue_name) - { - return AXIS2_FAILURE; - } - - axis2_bool_t is_soap_11 = axis2_msg_ctx_get_is_soap_11(msg_ctx, env); - axutil_array_list_t* mime_parts = axis2_msg_ctx_get_mime_parts(msg_ctx, env); - - /* If client side, find reply_to_queue_name */ - if (!axis2_msg_ctx_get_server_side(msg_ctx, env)) - { - axis2_conf_ctx_t* conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); - - axis2_char_t* queue_name = - axis2_amqp_util_conf_ctx_get_dual_channel_queue_name(conf_ctx, env); - if (queue_name) - reply_to_queue_name = queue_name; - } - - Axis2QpidSender qpid_sender(destination_info->broker_ip, - destination_info->broker_port, env); - - status = qpid_sender.Send(request_content, destination_info->queue_name, - reply_to_queue_name, is_soap_11, content_type, soap_action, mime_parts); - - axis2_amqp_destination_info_free(destination_info, env); - - return status; -} - -#ifdef __cplusplus -} -#endif +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + +AXIS2_EXTERN axis2_amqp_response_t* AXIS2_CALL +axis2_qpid_send_receive( + const axis2_char_t* request_content, + const axutil_env_t* env, + const axis2_char_t* content_type, + const axis2_char_t* soap_action, + axis2_msg_ctx_t* msg_ctx) +{ + axis2_amqp_destination_info_t* destination_info = NULL; + destination_info = axis2_amqp_util_msg_ctx_get_destination_info(msg_ctx, env); + + if (!destination_info || !destination_info->broker_ip || + !destination_info->broker_port || !destination_info->queue_name) + { + return NULL; + } + + axis2_bool_t is_soap_11 = axis2_msg_ctx_get_is_soap_11(msg_ctx, env); + axutil_array_list_t* mime_parts = axis2_msg_ctx_get_mime_parts(msg_ctx, env); + int timeout = axis2_amqp_util_msg_ctx_get_request_timeout(msg_ctx, env); + + /* Get Response */ + Axis2QpidSender qpid_sender(destination_info->broker_ip, + destination_info->broker_port, env); + + bool status = qpid_sender.SendReceive(request_content, destination_info->queue_name, + is_soap_11, content_type, soap_action, mime_parts, timeout); + + axis2_amqp_destination_info_free(destination_info, env); + + if (!status) + { + return NULL; + } + + /* Create response */ + axis2_amqp_response_t* response = (axis2_amqp_response_t*)AXIS2_MALLOC( + env->allocator, sizeof(axis2_amqp_response_t)); + + /* Data */ + response->data = AXIS2_MALLOC(env->allocator, qpid_sender.responseContent.size()); + memcpy(response->data, qpid_sender.responseContent.c_str(), + qpid_sender.responseContent.size()); + + /* Length */ + response->length = qpid_sender.responseContent.size(); + + /* ContentType */ + response->content_type = (axis2_char_t*)AXIS2_MALLOC( + env->allocator, qpid_sender.responseContentType.size() + 1); + strcpy(response->content_type, qpid_sender.responseContentType.c_str()); + + return response; +} + + +AXIS2_EXTERN axis2_status_t AXIS2_CALL +axis2_qpid_send( + const axis2_char_t* request_content, + const axutil_env_t* env, + const axis2_char_t* content_type, + const axis2_char_t* soap_action, + axis2_msg_ctx_t* msg_ctx) +{ + axis2_amqp_destination_info_t* destination_info = NULL; + axis2_status_t status = AXIS2_FAILURE; + string reply_to_queue_name = ""; + + destination_info = axis2_amqp_util_msg_ctx_get_destination_info(msg_ctx, env); + + if (!destination_info || !destination_info->broker_ip || + !destination_info->broker_port || !destination_info->queue_name) + { + return AXIS2_FAILURE; + } + + axis2_bool_t is_soap_11 = axis2_msg_ctx_get_is_soap_11(msg_ctx, env); + axutil_array_list_t* mime_parts = axis2_msg_ctx_get_mime_parts(msg_ctx, env); + + /* If client side, find reply_to_queue_name */ + if (!axis2_msg_ctx_get_server_side(msg_ctx, env)) + { + axis2_conf_ctx_t* conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); + + axis2_char_t* queue_name = + axis2_amqp_util_conf_ctx_get_dual_channel_queue_name(conf_ctx, env); + if (queue_name) + reply_to_queue_name = queue_name; + } + + Axis2QpidSender qpid_sender(destination_info->broker_ip, + destination_info->broker_port, env); + + status = qpid_sender.Send(request_content, destination_info->queue_name, + reply_to_queue_name, is_soap_11, content_type, soap_action, mime_parts); + + axis2_amqp_destination_info_free(destination_info, env); + + return status; +} + +#ifdef __cplusplus +} +#endif -- cgit v1.1-32-gdbae