[ 
https://issues.apache.org/jira/browse/AXIS2C-723?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12608467#action_12608467
 ] 

Damitha Kumarage commented on AXIS2C-723:
-----------------------------------------

As I can see where existing transport like xmpp and amqp supported in the code 
the place where these are hard coded can be avoided. Can you please so me where 
you think it is not possible.
Your suggestion of using custom transports seems to me ugly and somewhat not 
clear. Having predefined slots is again kind of hard coded. May be I am 
completely dumb here.

> 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to