You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Damitha Kumarage (JIRA)" <ji...@apache.org> on 2008/06/26 15:07:45 UTC
[jira] Commented: (AXIS2C-723) add new transport in Axis2/C
[ https://issues.apache.org/jira/browse/AXIS2C-723?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12608416#action_12608416 ]
Damitha Kumarage commented on AXIS2C-723:
-----------------------------------------
We can solve this problem as following.
In axis2.xml we define transports as following
<TransportList>
<!-- Transports supported -->
<transport name="http"/>
<transport name="smtp"/>
<transport name="tcp"/>
<transport name="xmpp"/>
<transport name="https"/>
<transport name="amqp"/>
</TransportList>
Then in configuration builder we parse this list and add these transport names into a array_list caled transport_list. Then in places of using transport enums we can use these transport names. What do you think?
> add new transport in Axis2/C
> ----------------------------
>
> Key: AXIS2C-723
> URL: https://issues.apache.org/jira/browse/AXIS2C-723
> Project: Axis2-C
> Issue Type: Improvement
> Components: core/transport
> Affects Versions: 1.1.0
> Environment: OS:WindowsXP
> Reporter: Atsushi Monna
> Assignee: Damitha Kumarage
>
> I have a desire for new trasnport in Axis2/C.
> I found a hard cording the transports in axis2_const.h like this.
> #define AXIS2_TRANSPORT_HTTP "http"
> #define AXIS2_TRANSPORT_SMTP "smtp"
> #define AXIS2_TRANSPORT_TCP "tcp"
> #define AXIS2_TRANSPORT_XMPP "xmpp"
> #define AXIS2_TRANSPORT_HTTPS "https"
> typedef enum
> {
> AXIS2_TRANSPORT_ENUM_HTTP = 0,
> AXIS2_TRANSPORT_ENUM_SMTP,
> AXIS2_TRANSPORT_ENUM_TCP,
> AXIS2_TRANSPORT_ENUM_XMPP,
> AXIS2_TRANSPORT_ENUM_HTTPS,
> AXIS2_TRANSPORT_ENUM_MAX
> } AXIS2_TRANSPORT_ENUMS;
> And using like this.
> /**
> * Adds a transport in description.
> * @param conf pointer to conf struct
> * @param env pointer to environment struct
> * @param transport pointer to transport in description. conf assumes
> * ownership of the struct
> * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
> */
> AXIS2_EXTERN axis2_status_t AXIS2_CALL
> axis2_conf_add_transport_in(axis2_conf_t *conf,
> const axutil_env_t *env,
> axis2_transport_in_desc_t *transport,
> const AXIS2_TRANSPORT_ENUMS trans_enum);
> If we want to add a new transport, we must defin a transport in axis2_const.h and re-build Axis2/C modules.
> In Axis2 (Java), we don't need to re-build Axis2 modules, if we think so.
> We can only provid a class implemented TransportProvider I/F and add a entry at axis2.xml file.
> Axis2 said in key features, engine is completely transport-independent at "Transport Fremework".
> I think the realization like Axis2 is advisable.
--
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: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org