Calling Convention in Client(CAPI)

Help
atssada
2007-07-31
2013-04-26
  • atssada
    atssada
    2007-07-31

    When I use the CAPI generated by XINS,
    It adds "_convention=_xml_std" implicitly to Http Request Parameters.

    How can I change the calling convention at client side?

    At Server Side,
    I configured it, on web.xml like this,
            <init-param>
                <param-name>org.xins.api.calling.convention</param-name>
                <param-value>azukari-convention</param-value>
            </init-param>
            <init-param>
                <param-name>org.xins.api.calling.convention.azukari-convention.class</param-name>
                <param-value>com.nec..azukari.api.AzukariCallingConvention</param-value>
            </init-param>

    and It looks work correctly.

     
    • Ernst de Haan
      Ernst de Haan
      2007-07-31

      No, it's not possible to configure the client-side to use a different calling convention.

      The reason for this is that the XINS/Java Client Framework does not know how to send parameters to a different calling convention. It knows that with the _xins-std calling convention it can send plain parameters via HTTP GET or POST, but this may be completely different with another calling convention.

      If you would to have this functionality, the Client Framework could be changed in 2 ways, AFAICS:
      1. Allow the _convention parameter to be configured. This will have limited impact and limited use, since it will only work for calling conventions that accept HTTP parameters like _xins-std does.
      2. Have a plug-in architecture on the client-side, so that different protocols can be chosen.

      For #2 there is also an alternative framework that may be useful, which I read about at www.TheServerSide.COM. I don't remember the name.

      If you would like #1 or #2 to be implemented in XINS, please file an RFE.

      Cheers,

      Ernst de Haan

       
    • atssada
      atssada
      2007-08-01

      Thanks for your detail explanation.

      I would mean,

      <server side>
      ----
      1. Create a new Calling Convention, say "mycc".
      2. Configure it at Server Side(web.xml#init-param : cc = mycc).

      <client side>
      ----
      3. Call a Function via CAPI generated by XINS.
         (Which uses "_convention=_xml_std")

      <server side>
      ----
      4. XINS(Server) uses "Standard Calling Convention" not "mycc".
         a bug?

      To Solve this problem,
      I explicitly added a parameter "_convention=mycc" to Http Request Parameters,
      Then Server did the job what I wanted, it called mycc.

      I used XINS2.0.

      I am trying to use XINS1.5.2.
      Then I can report the result later.

      Anyway, Great Framework!