You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by "Brice André (JIRA)" <ji...@apache.org> on 2010/09/11 08:11:33 UTC

[jira] Created: (AXIS2-4816) 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)

3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)
---------------------------------------------------------------------------------------------------------------

                 Key: AXIS2-4816
                 URL: https://issues.apache.org/jira/browse/AXIS2-4816
             Project: Axis2
          Issue Type: Bug
          Components: adb
    Affects Versions: 1.5.1
         Environment: Tested on Linux, but shall be present on all platforms
            Reporter: Brice André


I have encountered 3 bugs when trying to generate soap c-client code with the wsdl2c tool.

I create a single issue because I have only one patch for all bugs.

The first bug encountered is the presence of invalid characters in c tokens (in my case, the '-' character) when a type name containing an enumeration contains such invalid character. An example of schema that generates this bug is the following:
      <s:simpleType name="Temperature-Unit">
        <s:restriction base="s:string">
          <s:enumeration value="C"/>
          <s:enumeration value="F"/>
          <s:enumeration value="R"/>
          <s:enumeration value="r"/>
          <s:enumeration value="k"/>
        </s:restriction>
      </s:simpleType>
I think that the solution to this problem is to change the C xml template filess in order to insert the property for which all invalid characters were replaced by '_'.

The second problem arrises when generating code with one file per data type on very large projects : I did not identified which part of the schema was causing the trouble, but the #include directives are cyclic, which prevents the compilation of the code.
I think that the solution to this problem is to change the C xml header template in order to declare the structure of each data type before performing inclusions.

The third problem encountered arises when an enumeration type contains two different values that differ only by upper or lowercase characters. The generated C enum has all fields written in upper-case and so, both elements have the same name. The sample of wsdl schema written above contains such an error.
In this case, the solution of the problem is not so trivial. A simple way to remove it is to keep the case (upper or lower) of the wsdl enumeration in the C structure. But this change would implies that new generated code will not be compatible with the previously one. I chose this way for solving the problem and so, I created a new property, called nu_id (nu stands for non-uppercase), which contains the original id (with removed invalid characters for c tokens) and I changed the C xml templates so that this new property is used for code generation.

I don't see any way of joining files during the creation of an issue, but, when I will find a way to do so, I will join an example of wsdl file that generates the three problems as well as a patch that seems to correct all of them. If you don't find the attached files, fell free to contact me. I will send both files.

I used the following command to generate the code :
WSDL2C.sh -uri ../WSDL/ehealth-hubservices/WSDL/InterHubWebService-1_0.wsdl -u -o Generated/.

I used the following command to compile the generated elements : 
gcc -c -combine -o ${OBJ_DIR}/axis2_stub_InterHubService.o -I${AXIS2C_HOME}/include src/*.c

Best Regards,

Brice André

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4816) 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)

Posted by "Brice André (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brice André updated AXIS2-4816:
-------------------------------

    Attachment: ehealthxsd-hubservices-1-0-1.zip

Here is the schema that caused the three bugs.
This schema is not mine so, please, do not include it in samples or test case of ASF works.

> 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4816
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4816
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Tested on Linux, but shall be present on all platforms
>            Reporter: Brice André
>         Attachments: ehealthxsd-hubservices-1-0-1.zip
>
>
> I have encountered 3 bugs when trying to generate soap c-client code with the wsdl2c tool.
> I create a single issue because I have only one patch for all bugs.
> The first bug encountered is the presence of invalid characters in c tokens (in my case, the '-' character) when a type name containing an enumeration contains such invalid character. An example of schema that generates this bug is the following:
>       <s:simpleType name="Temperature-Unit">
>         <s:restriction base="s:string">
>           <s:enumeration value="C"/>
>           <s:enumeration value="F"/>
>           <s:enumeration value="R"/>
>           <s:enumeration value="r"/>
>           <s:enumeration value="k"/>
>         </s:restriction>
>       </s:simpleType>
> I think that the solution to this problem is to change the C xml template filess in order to insert the property for which all invalid characters were replaced by '_'.
> The second problem arrises when generating code with one file per data type on very large projects : I did not identified which part of the schema was causing the trouble, but the #include directives are cyclic, which prevents the compilation of the code.
> I think that the solution to this problem is to change the C xml header template in order to declare the structure of each data type before performing inclusions.
> The third problem encountered arises when an enumeration type contains two different values that differ only by upper or lowercase characters. The generated C enum has all fields written in upper-case and so, both elements have the same name. The sample of wsdl schema written above contains such an error.
> In this case, the solution of the problem is not so trivial. A simple way to remove it is to keep the case (upper or lower) of the wsdl enumeration in the C structure. But this change would implies that new generated code will not be compatible with the previously one. I chose this way for solving the problem and so, I created a new property, called nu_id (nu stands for non-uppercase), which contains the original id (with removed invalid characters for c tokens) and I changed the C xml templates so that this new property is used for code generation.
> I don't see any way of joining files during the creation of an issue, but, when I will find a way to do so, I will join an example of wsdl file that generates the three problems as well as a patch that seems to correct all of them. If you don't find the attached files, fell free to contact me. I will send both files.
> I used the following command to generate the code :
> WSDL2C.sh -uri ../WSDL/ehealth-hubservices/WSDL/InterHubWebService-1_0.wsdl -u -o Generated/.
> I used the following command to compile the generated elements : 
> gcc -c -combine -o ${OBJ_DIR}/axis2_stub_InterHubService.o -I${AXIS2C_HOME}/include src/*.c
> Best Regards,
> Brice André

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4816) 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)

Posted by "Brice André (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brice André updated AXIS2-4816:
-------------------------------

    Attachment: ehealthxsd-hubservices-1-0-1.zip

Here is the schema that caused the three bugs.
This schema is not mine so, please, do not include it in samples or test case of ASF works.

> 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4816
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4816
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Tested on Linux, but shall be present on all platforms
>            Reporter: Brice André
>         Attachments: ehealthxsd-hubservices-1-0-1.zip
>
>
> I have encountered 3 bugs when trying to generate soap c-client code with the wsdl2c tool.
> I create a single issue because I have only one patch for all bugs.
> The first bug encountered is the presence of invalid characters in c tokens (in my case, the '-' character) when a type name containing an enumeration contains such invalid character. An example of schema that generates this bug is the following:
>       <s:simpleType name="Temperature-Unit">
>         <s:restriction base="s:string">
>           <s:enumeration value="C"/>
>           <s:enumeration value="F"/>
>           <s:enumeration value="R"/>
>           <s:enumeration value="r"/>
>           <s:enumeration value="k"/>
>         </s:restriction>
>       </s:simpleType>
> I think that the solution to this problem is to change the C xml template filess in order to insert the property for which all invalid characters were replaced by '_'.
> The second problem arrises when generating code with one file per data type on very large projects : I did not identified which part of the schema was causing the trouble, but the #include directives are cyclic, which prevents the compilation of the code.
> I think that the solution to this problem is to change the C xml header template in order to declare the structure of each data type before performing inclusions.
> The third problem encountered arises when an enumeration type contains two different values that differ only by upper or lowercase characters. The generated C enum has all fields written in upper-case and so, both elements have the same name. The sample of wsdl schema written above contains such an error.
> In this case, the solution of the problem is not so trivial. A simple way to remove it is to keep the case (upper or lower) of the wsdl enumeration in the C structure. But this change would implies that new generated code will not be compatible with the previously one. I chose this way for solving the problem and so, I created a new property, called nu_id (nu stands for non-uppercase), which contains the original id (with removed invalid characters for c tokens) and I changed the C xml templates so that this new property is used for code generation.
> I don't see any way of joining files during the creation of an issue, but, when I will find a way to do so, I will join an example of wsdl file that generates the three problems as well as a patch that seems to correct all of them. If you don't find the attached files, fell free to contact me. I will send both files.
> I used the following command to generate the code :
> WSDL2C.sh -uri ../WSDL/ehealth-hubservices/WSDL/InterHubWebService-1_0.wsdl -u -o Generated/.
> I used the following command to compile the generated elements : 
> gcc -c -combine -o ${OBJ_DIR}/axis2_stub_InterHubService.o -I${AXIS2C_HOME}/include src/*.c
> Best Regards,
> Brice André

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4816) 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)

Posted by "Brice André (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brice André updated AXIS2-4816:
-------------------------------

    Attachment: patch.diff

Here is the patch that I applied and that seems to have corrected the three bugs

> 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4816
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4816
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Tested on Linux, but shall be present on all platforms
>            Reporter: Brice André
>         Attachments: ehealthxsd-hubservices-1-0-1.zip, patch.diff
>
>
> I have encountered 3 bugs when trying to generate soap c-client code with the wsdl2c tool.
> I create a single issue because I have only one patch for all bugs.
> The first bug encountered is the presence of invalid characters in c tokens (in my case, the '-' character) when a type name containing an enumeration contains such invalid character. An example of schema that generates this bug is the following:
>       <s:simpleType name="Temperature-Unit">
>         <s:restriction base="s:string">
>           <s:enumeration value="C"/>
>           <s:enumeration value="F"/>
>           <s:enumeration value="R"/>
>           <s:enumeration value="r"/>
>           <s:enumeration value="k"/>
>         </s:restriction>
>       </s:simpleType>
> I think that the solution to this problem is to change the C xml template filess in order to insert the property for which all invalid characters were replaced by '_'.
> The second problem arrises when generating code with one file per data type on very large projects : I did not identified which part of the schema was causing the trouble, but the #include directives are cyclic, which prevents the compilation of the code.
> I think that the solution to this problem is to change the C xml header template in order to declare the structure of each data type before performing inclusions.
> The third problem encountered arises when an enumeration type contains two different values that differ only by upper or lowercase characters. The generated C enum has all fields written in upper-case and so, both elements have the same name. The sample of wsdl schema written above contains such an error.
> In this case, the solution of the problem is not so trivial. A simple way to remove it is to keep the case (upper or lower) of the wsdl enumeration in the C structure. But this change would implies that new generated code will not be compatible with the previously one. I chose this way for solving the problem and so, I created a new property, called nu_id (nu stands for non-uppercase), which contains the original id (with removed invalid characters for c tokens) and I changed the C xml templates so that this new property is used for code generation.
> I don't see any way of joining files during the creation of an issue, but, when I will find a way to do so, I will join an example of wsdl file that generates the three problems as well as a patch that seems to correct all of them. If you don't find the attached files, fell free to contact me. I will send both files.
> I used the following command to generate the code :
> WSDL2C.sh -uri ../WSDL/ehealth-hubservices/WSDL/InterHubWebService-1_0.wsdl -u -o Generated/.
> I used the following command to compile the generated elements : 
> gcc -c -combine -o ${OBJ_DIR}/axis2_stub_InterHubService.o -I${AXIS2C_HOME}/include src/*.c
> Best Regards,
> Brice André

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4816) 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)

Posted by "Brice André (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brice André updated AXIS2-4816:
-------------------------------

    Attachment: patch.diff

Here is the patch that I applied and that seems to have corrected the three bugs

> 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4816
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4816
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Tested on Linux, but shall be present on all platforms
>            Reporter: Brice André
>         Attachments: ehealthxsd-hubservices-1-0-1.zip, patch.diff
>
>
> I have encountered 3 bugs when trying to generate soap c-client code with the wsdl2c tool.
> I create a single issue because I have only one patch for all bugs.
> The first bug encountered is the presence of invalid characters in c tokens (in my case, the '-' character) when a type name containing an enumeration contains such invalid character. An example of schema that generates this bug is the following:
>       <s:simpleType name="Temperature-Unit">
>         <s:restriction base="s:string">
>           <s:enumeration value="C"/>
>           <s:enumeration value="F"/>
>           <s:enumeration value="R"/>
>           <s:enumeration value="r"/>
>           <s:enumeration value="k"/>
>         </s:restriction>
>       </s:simpleType>
> I think that the solution to this problem is to change the C xml template filess in order to insert the property for which all invalid characters were replaced by '_'.
> The second problem arrises when generating code with one file per data type on very large projects : I did not identified which part of the schema was causing the trouble, but the #include directives are cyclic, which prevents the compilation of the code.
> I think that the solution to this problem is to change the C xml header template in order to declare the structure of each data type before performing inclusions.
> The third problem encountered arises when an enumeration type contains two different values that differ only by upper or lowercase characters. The generated C enum has all fields written in upper-case and so, both elements have the same name. The sample of wsdl schema written above contains such an error.
> In this case, the solution of the problem is not so trivial. A simple way to remove it is to keep the case (upper or lower) of the wsdl enumeration in the C structure. But this change would implies that new generated code will not be compatible with the previously one. I chose this way for solving the problem and so, I created a new property, called nu_id (nu stands for non-uppercase), which contains the original id (with removed invalid characters for c tokens) and I changed the C xml templates so that this new property is used for code generation.
> I don't see any way of joining files during the creation of an issue, but, when I will find a way to do so, I will join an example of wsdl file that generates the three problems as well as a patch that seems to correct all of them. If you don't find the attached files, fell free to contact me. I will send both files.
> I used the following command to generate the code :
> WSDL2C.sh -uri ../WSDL/ehealth-hubservices/WSDL/InterHubWebService-1_0.wsdl -u -o Generated/.
> I used the following command to compile the generated elements : 
> gcc -c -combine -o ${OBJ_DIR}/axis2_stub_InterHubService.o -I${AXIS2C_HOME}/include src/*.c
> Best Regards,
> Brice André

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4816) 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)

Posted by "Brice André (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brice André updated AXIS2-4816:
-------------------------------

    Attachment: ehealthxsd-hubservices-1-0-1.zip

Here is the schema that caused the three bugs.
This schema is not mine so, please, do not include it in samples or test case of ASF works.

> 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4816
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4816
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Tested on Linux, but shall be present on all platforms
>            Reporter: Brice André
>         Attachments: ehealthxsd-hubservices-1-0-1.zip
>
>
> I have encountered 3 bugs when trying to generate soap c-client code with the wsdl2c tool.
> I create a single issue because I have only one patch for all bugs.
> The first bug encountered is the presence of invalid characters in c tokens (in my case, the '-' character) when a type name containing an enumeration contains such invalid character. An example of schema that generates this bug is the following:
>       <s:simpleType name="Temperature-Unit">
>         <s:restriction base="s:string">
>           <s:enumeration value="C"/>
>           <s:enumeration value="F"/>
>           <s:enumeration value="R"/>
>           <s:enumeration value="r"/>
>           <s:enumeration value="k"/>
>         </s:restriction>
>       </s:simpleType>
> I think that the solution to this problem is to change the C xml template filess in order to insert the property for which all invalid characters were replaced by '_'.
> The second problem arrises when generating code with one file per data type on very large projects : I did not identified which part of the schema was causing the trouble, but the #include directives are cyclic, which prevents the compilation of the code.
> I think that the solution to this problem is to change the C xml header template in order to declare the structure of each data type before performing inclusions.
> The third problem encountered arises when an enumeration type contains two different values that differ only by upper or lowercase characters. The generated C enum has all fields written in upper-case and so, both elements have the same name. The sample of wsdl schema written above contains such an error.
> In this case, the solution of the problem is not so trivial. A simple way to remove it is to keep the case (upper or lower) of the wsdl enumeration in the C structure. But this change would implies that new generated code will not be compatible with the previously one. I chose this way for solving the problem and so, I created a new property, called nu_id (nu stands for non-uppercase), which contains the original id (with removed invalid characters for c tokens) and I changed the C xml templates so that this new property is used for code generation.
> I don't see any way of joining files during the creation of an issue, but, when I will find a way to do so, I will join an example of wsdl file that generates the three problems as well as a patch that seems to correct all of them. If you don't find the attached files, fell free to contact me. I will send both files.
> I used the following command to generate the code :
> WSDL2C.sh -uri ../WSDL/ehealth-hubservices/WSDL/InterHubWebService-1_0.wsdl -u -o Generated/.
> I used the following command to compile the generated elements : 
> gcc -c -combine -o ${OBJ_DIR}/axis2_stub_InterHubService.o -I${AXIS2C_HOME}/include src/*.c
> Best Regards,
> Brice André

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4816) 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)

Posted by "Brice André (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brice André updated AXIS2-4816:
-------------------------------

    Attachment: ehealthxsd-hubservices-1-0-1.zip

Here is the schema that caused the three bugs.
This schema is not mine so, please, do not include it in samples or test case of ASF works.

> 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4816
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4816
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Tested on Linux, but shall be present on all platforms
>            Reporter: Brice André
>         Attachments: ehealthxsd-hubservices-1-0-1.zip
>
>
> I have encountered 3 bugs when trying to generate soap c-client code with the wsdl2c tool.
> I create a single issue because I have only one patch for all bugs.
> The first bug encountered is the presence of invalid characters in c tokens (in my case, the '-' character) when a type name containing an enumeration contains such invalid character. An example of schema that generates this bug is the following:
>       <s:simpleType name="Temperature-Unit">
>         <s:restriction base="s:string">
>           <s:enumeration value="C"/>
>           <s:enumeration value="F"/>
>           <s:enumeration value="R"/>
>           <s:enumeration value="r"/>
>           <s:enumeration value="k"/>
>         </s:restriction>
>       </s:simpleType>
> I think that the solution to this problem is to change the C xml template filess in order to insert the property for which all invalid characters were replaced by '_'.
> The second problem arrises when generating code with one file per data type on very large projects : I did not identified which part of the schema was causing the trouble, but the #include directives are cyclic, which prevents the compilation of the code.
> I think that the solution to this problem is to change the C xml header template in order to declare the structure of each data type before performing inclusions.
> The third problem encountered arises when an enumeration type contains two different values that differ only by upper or lowercase characters. The generated C enum has all fields written in upper-case and so, both elements have the same name. The sample of wsdl schema written above contains such an error.
> In this case, the solution of the problem is not so trivial. A simple way to remove it is to keep the case (upper or lower) of the wsdl enumeration in the C structure. But this change would implies that new generated code will not be compatible with the previously one. I chose this way for solving the problem and so, I created a new property, called nu_id (nu stands for non-uppercase), which contains the original id (with removed invalid characters for c tokens) and I changed the C xml templates so that this new property is used for code generation.
> I don't see any way of joining files during the creation of an issue, but, when I will find a way to do so, I will join an example of wsdl file that generates the three problems as well as a patch that seems to correct all of them. If you don't find the attached files, fell free to contact me. I will send both files.
> I used the following command to generate the code :
> WSDL2C.sh -uri ../WSDL/ehealth-hubservices/WSDL/InterHubWebService-1_0.wsdl -u -o Generated/.
> I used the following command to compile the generated elements : 
> gcc -c -combine -o ${OBJ_DIR}/axis2_stub_InterHubService.o -I${AXIS2C_HOME}/include src/*.c
> Best Regards,
> Brice André

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4816) 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)

Posted by "Brice André (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brice André updated AXIS2-4816:
-------------------------------

    Attachment: patch.diff

Here is the patch that I applied and that seems to have corrected the three bugs

> 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4816
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4816
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Tested on Linux, but shall be present on all platforms
>            Reporter: Brice André
>         Attachments: ehealthxsd-hubservices-1-0-1.zip, patch.diff
>
>
> I have encountered 3 bugs when trying to generate soap c-client code with the wsdl2c tool.
> I create a single issue because I have only one patch for all bugs.
> The first bug encountered is the presence of invalid characters in c tokens (in my case, the '-' character) when a type name containing an enumeration contains such invalid character. An example of schema that generates this bug is the following:
>       <s:simpleType name="Temperature-Unit">
>         <s:restriction base="s:string">
>           <s:enumeration value="C"/>
>           <s:enumeration value="F"/>
>           <s:enumeration value="R"/>
>           <s:enumeration value="r"/>
>           <s:enumeration value="k"/>
>         </s:restriction>
>       </s:simpleType>
> I think that the solution to this problem is to change the C xml template filess in order to insert the property for which all invalid characters were replaced by '_'.
> The second problem arrises when generating code with one file per data type on very large projects : I did not identified which part of the schema was causing the trouble, but the #include directives are cyclic, which prevents the compilation of the code.
> I think that the solution to this problem is to change the C xml header template in order to declare the structure of each data type before performing inclusions.
> The third problem encountered arises when an enumeration type contains two different values that differ only by upper or lowercase characters. The generated C enum has all fields written in upper-case and so, both elements have the same name. The sample of wsdl schema written above contains such an error.
> In this case, the solution of the problem is not so trivial. A simple way to remove it is to keep the case (upper or lower) of the wsdl enumeration in the C structure. But this change would implies that new generated code will not be compatible with the previously one. I chose this way for solving the problem and so, I created a new property, called nu_id (nu stands for non-uppercase), which contains the original id (with removed invalid characters for c tokens) and I changed the C xml templates so that this new property is used for code generation.
> I don't see any way of joining files during the creation of an issue, but, when I will find a way to do so, I will join an example of wsdl file that generates the three problems as well as a patch that seems to correct all of them. If you don't find the attached files, fell free to contact me. I will send both files.
> I used the following command to generate the code :
> WSDL2C.sh -uri ../WSDL/ehealth-hubservices/WSDL/InterHubWebService-1_0.wsdl -u -o Generated/.
> I used the following command to compile the generated elements : 
> gcc -c -combine -o ${OBJ_DIR}/axis2_stub_InterHubService.o -I${AXIS2C_HOME}/include src/*.c
> Best Regards,
> Brice André

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4816) 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)

Posted by "Brice André (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brice André updated AXIS2-4816:
-------------------------------

    Attachment: patch.diff

Here is the patch that I applied and that seems to have corrected the three bugs

> 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4816
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4816
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Tested on Linux, but shall be present on all platforms
>            Reporter: Brice André
>         Attachments: ehealthxsd-hubservices-1-0-1.zip, patch.diff
>
>
> I have encountered 3 bugs when trying to generate soap c-client code with the wsdl2c tool.
> I create a single issue because I have only one patch for all bugs.
> The first bug encountered is the presence of invalid characters in c tokens (in my case, the '-' character) when a type name containing an enumeration contains such invalid character. An example of schema that generates this bug is the following:
>       <s:simpleType name="Temperature-Unit">
>         <s:restriction base="s:string">
>           <s:enumeration value="C"/>
>           <s:enumeration value="F"/>
>           <s:enumeration value="R"/>
>           <s:enumeration value="r"/>
>           <s:enumeration value="k"/>
>         </s:restriction>
>       </s:simpleType>
> I think that the solution to this problem is to change the C xml template filess in order to insert the property for which all invalid characters were replaced by '_'.
> The second problem arrises when generating code with one file per data type on very large projects : I did not identified which part of the schema was causing the trouble, but the #include directives are cyclic, which prevents the compilation of the code.
> I think that the solution to this problem is to change the C xml header template in order to declare the structure of each data type before performing inclusions.
> The third problem encountered arises when an enumeration type contains two different values that differ only by upper or lowercase characters. The generated C enum has all fields written in upper-case and so, both elements have the same name. The sample of wsdl schema written above contains such an error.
> In this case, the solution of the problem is not so trivial. A simple way to remove it is to keep the case (upper or lower) of the wsdl enumeration in the C structure. But this change would implies that new generated code will not be compatible with the previously one. I chose this way for solving the problem and so, I created a new property, called nu_id (nu stands for non-uppercase), which contains the original id (with removed invalid characters for c tokens) and I changed the C xml templates so that this new property is used for code generation.
> I don't see any way of joining files during the creation of an issue, but, when I will find a way to do so, I will join an example of wsdl file that generates the three problems as well as a patch that seems to correct all of them. If you don't find the attached files, fell free to contact me. I will send both files.
> I used the following command to generate the code :
> WSDL2C.sh -uri ../WSDL/ehealth-hubservices/WSDL/InterHubWebService-1_0.wsdl -u -o Generated/.
> I used the following command to compile the generated elements : 
> gcc -c -combine -o ${OBJ_DIR}/axis2_stub_InterHubService.o -I${AXIS2C_HOME}/include src/*.c
> Best Regards,
> Brice André

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4816) 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)

Posted by "Brice André (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brice André updated AXIS2-4816:
-------------------------------

    Attachment: patch.diff

Here is the patch that I applied and that seems to have corrected the three bugs

> 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4816
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4816
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Tested on Linux, but shall be present on all platforms
>            Reporter: Brice André
>         Attachments: ehealthxsd-hubservices-1-0-1.zip, patch.diff
>
>
> I have encountered 3 bugs when trying to generate soap c-client code with the wsdl2c tool.
> I create a single issue because I have only one patch for all bugs.
> The first bug encountered is the presence of invalid characters in c tokens (in my case, the '-' character) when a type name containing an enumeration contains such invalid character. An example of schema that generates this bug is the following:
>       <s:simpleType name="Temperature-Unit">
>         <s:restriction base="s:string">
>           <s:enumeration value="C"/>
>           <s:enumeration value="F"/>
>           <s:enumeration value="R"/>
>           <s:enumeration value="r"/>
>           <s:enumeration value="k"/>
>         </s:restriction>
>       </s:simpleType>
> I think that the solution to this problem is to change the C xml template filess in order to insert the property for which all invalid characters were replaced by '_'.
> The second problem arrises when generating code with one file per data type on very large projects : I did not identified which part of the schema was causing the trouble, but the #include directives are cyclic, which prevents the compilation of the code.
> I think that the solution to this problem is to change the C xml header template in order to declare the structure of each data type before performing inclusions.
> The third problem encountered arises when an enumeration type contains two different values that differ only by upper or lowercase characters. The generated C enum has all fields written in upper-case and so, both elements have the same name. The sample of wsdl schema written above contains such an error.
> In this case, the solution of the problem is not so trivial. A simple way to remove it is to keep the case (upper or lower) of the wsdl enumeration in the C structure. But this change would implies that new generated code will not be compatible with the previously one. I chose this way for solving the problem and so, I created a new property, called nu_id (nu stands for non-uppercase), which contains the original id (with removed invalid characters for c tokens) and I changed the C xml templates so that this new property is used for code generation.
> I don't see any way of joining files during the creation of an issue, but, when I will find a way to do so, I will join an example of wsdl file that generates the three problems as well as a patch that seems to correct all of them. If you don't find the attached files, fell free to contact me. I will send both files.
> I used the following command to generate the code :
> WSDL2C.sh -uri ../WSDL/ehealth-hubservices/WSDL/InterHubWebService-1_0.wsdl -u -o Generated/.
> I used the following command to compile the generated elements : 
> gcc -c -combine -o ${OBJ_DIR}/axis2_stub_InterHubService.o -I${AXIS2C_HOME}/include src/*.c
> Best Regards,
> Brice André

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Updated: (AXIS2-4816) 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)

Posted by "Brice André (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-4816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brice André updated AXIS2-4816:
-------------------------------

    Attachment: ehealthxsd-hubservices-1-0-1.zip

Here is the schema that caused the three bugs.
This schema is not mine so, please, do not include it in samples or test case of ASF works.

> 3 bugs in C code generation (invalid characters in c tokens, cyclic inclusion and uppercase-lowercase mismatch)
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4816
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4816
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.5.1
>         Environment: Tested on Linux, but shall be present on all platforms
>            Reporter: Brice André
>         Attachments: ehealthxsd-hubservices-1-0-1.zip
>
>
> I have encountered 3 bugs when trying to generate soap c-client code with the wsdl2c tool.
> I create a single issue because I have only one patch for all bugs.
> The first bug encountered is the presence of invalid characters in c tokens (in my case, the '-' character) when a type name containing an enumeration contains such invalid character. An example of schema that generates this bug is the following:
>       <s:simpleType name="Temperature-Unit">
>         <s:restriction base="s:string">
>           <s:enumeration value="C"/>
>           <s:enumeration value="F"/>
>           <s:enumeration value="R"/>
>           <s:enumeration value="r"/>
>           <s:enumeration value="k"/>
>         </s:restriction>
>       </s:simpleType>
> I think that the solution to this problem is to change the C xml template filess in order to insert the property for which all invalid characters were replaced by '_'.
> The second problem arrises when generating code with one file per data type on very large projects : I did not identified which part of the schema was causing the trouble, but the #include directives are cyclic, which prevents the compilation of the code.
> I think that the solution to this problem is to change the C xml header template in order to declare the structure of each data type before performing inclusions.
> The third problem encountered arises when an enumeration type contains two different values that differ only by upper or lowercase characters. The generated C enum has all fields written in upper-case and so, both elements have the same name. The sample of wsdl schema written above contains such an error.
> In this case, the solution of the problem is not so trivial. A simple way to remove it is to keep the case (upper or lower) of the wsdl enumeration in the C structure. But this change would implies that new generated code will not be compatible with the previously one. I chose this way for solving the problem and so, I created a new property, called nu_id (nu stands for non-uppercase), which contains the original id (with removed invalid characters for c tokens) and I changed the C xml templates so that this new property is used for code generation.
> I don't see any way of joining files during the creation of an issue, but, when I will find a way to do so, I will join an example of wsdl file that generates the three problems as well as a patch that seems to correct all of them. If you don't find the attached files, fell free to contact me. I will send both files.
> I used the following command to generate the code :
> WSDL2C.sh -uri ../WSDL/ehealth-hubservices/WSDL/InterHubWebService-1_0.wsdl -u -o Generated/.
> I used the following command to compile the generated elements : 
> gcc -c -combine -o ${OBJ_DIR}/axis2_stub_InterHubService.o -I${AXIS2C_HOME}/include src/*.c
> Best Regards,
> Brice André

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org