axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Fred Preston (JIRA)" <axis-c-...@ws.apache.org>
Subject [jira] Commented: (AXISCPP-277) Latest changes to WSDL2Ws have caused some clients to fail to compile.
Date Fri, 19 Nov 2004 14:30:24 GMT
     [ http://nagoya.apache.org/jira/browse/AXISCPP-277?page=comments#action_55682 ]
     
Fred Preston commented on AXISCPP-277:
--------------------------------------

This error has occured because of the code that has been added to deal with nillable services.
 If a service object is nillable (i.e. AxisBench and RecursiveType) then the object must be
nillable.  To enable this to happen, I've had to change the pointer to be pointer to pointer
so that the client can nill the contents.

eg In AxisBench
      ---------
BenchBasicDataType_Array.hpp changes from:

typedef struct BenchBasicDataType_ArrayTag
{
BenchBasicDataType * m_Array;
int m_Size;
} BenchBasicDataType_Array;

To:
typedef struct BenchBasicDataType_ArrayTag
{
BenchBasicDataType ** m_Array;
int m_Size;
} BenchBasicDataType_Array;

This forces the client to change.  The new implementation now expects an array of object pointers
when this object is implemented.  Thus, in
AxisBenchClient.cpp, the code changes from:-

(62)input->infos.m_Array = new BenchBasicDataType[input->count];

To:
BenchBasicDataType ** ppBBDT = (BenchBasicDataType **) new __int64[input->count];
input->infos.m_Array = ppBBDT;
:
BenchBasicDataType * type = new BenchBasicDataType();
:
input->infos.m_Array[i] = type;
:

NB: if using Linux/UNIX, change __int64 to long long.


> Latest changes to WSDL2Ws have caused some clients to fail to compile.
> ----------------------------------------------------------------------
>
>          Key: AXISCPP-277
>          URL: http://nagoya.apache.org/jira/browse/AXISCPP-277
>      Project: Axis-C++
>         Type: Bug
>  Environment: All
>     Reporter: Andrew Perry
>     Assignee: Fred Preston

>
> Latest changes to WSDL2Ws have caused some clients to fail to compile.
> compileClient:
>        [cc] 5 total files to be compiled.
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:
In 
>        [cc]    function `int main(int, char**)':
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:62:
cannot
>        [cc]    convert `BenchBasicDataType*' to `BenchBasicDataType**' in assignment
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:93:
cannot
>        [cc]    convert `BenchBasicDataType' to `BenchBasicDataType*' in assignment
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:140:
request
>        [cc]    for member `StringType' in `
>        [cc]    *(output->BenchDataType::infos.BenchBasicDataType_ArrayTag::m_Array
+ (+(i * 
>        [cc]    4)))', which is of non-aggregate type `BenchBasicDataType*'
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:141:
request
>        [cc]    for member `IntType' in `
>        [cc]    *(output->BenchDataType::infos.BenchBasicDataType_ArrayTag::m_Array
+ (+(i * 
>        [cc]    4)))', which is of non-aggregate type `BenchBasicDataType*'
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:142:
request
>        [cc]    for member `IntegerType' in `
>        [cc]    *(output->BenchDataType::infos.BenchBasicDataType_ArrayTag::m_Array
+ (+(i * 
>        [cc]    4)))', which is of non-aggregate type `BenchBasicDataType*'
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:143:
request
>        [cc]    for member `DoubleType' in `
>        [cc]    *(output->BenchDataType::infos.BenchBasicDataType_ArrayTag::m_Array
+ (+(i * 
>        [cc]    4)))', which is of non-aggregate type `BenchBasicDataType*'
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:144:
request
>        [cc]    for member `BooleanType' in `
>        [cc]    *(output->BenchDataType::infos.BenchBasicDataType_ArrayTag::m_Array
+ (+(i * 
>        [cc]    4)))', which is of non-aggregate type `BenchBasicDataType*'
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:145:
request
>        [cc]    for member `DateTimeType' in `
>        [cc]    *(output->BenchDataType::infos.BenchBasicDataType_ArrayTag::m_Array
+ (+(i * 
>        [cc]    4)))', which is of non-aggregate type `BenchBasicDataType*'
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:147:
request
>        [cc]    for member `DateType' in `
>        [cc]    *(output->BenchDataType::infos.BenchBasicDataType_ArrayTag::m_Array
+ (+(i * 
>        [cc]    4)))', which is of non-aggregate type `BenchBasicDataType*'
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:149:
request
>        [cc]    for member `TimeType' in `
>        [cc]    *(output->BenchDataType::infos.BenchBasicDataType_ArrayTag::m_Array
+ (+(i * 
>        [cc]    4)))', which is of non-aggregate type `BenchBasicDataType*'
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:151:
request
>        [cc]    for member `ByteType' in `
>        [cc]    *(output->BenchDataType::infos.BenchBasicDataType_ArrayTag::m_Array
+ (+(i * 
>        [cc]    4)))', which is of non-aggregate type `BenchBasicDataType*'
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:152:
request
>        [cc]    for member `DecimalType' in `
>        [cc]    *(output->BenchDataType::infos.BenchBasicDataType_ArrayTag::m_Array
+ (+(i * 
>        [cc]    4)))', which is of non-aggregate type `BenchBasicDataType*'
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:153:
request
>        [cc]    for member `FloatType' in `
>        [cc]    *(output->BenchDataType::infos.BenchBasicDataType_ArrayTag::m_Array
+ (+(i * 
>        [cc]    4)))', which is of non-aggregate type `BenchBasicDataType*'
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:154:
request
>        [cc]    for member `LongType' in `
>        [cc]    *(output->BenchDataType::infos.BenchBasicDataType_ArrayTag::m_Array
+ (+(i * 
>        [cc]    4)))', which is of non-aggregate type `BenchBasicDataType*'
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:155:
request
>        [cc]    for member `QNameType' in `
>        [cc]    *(output->BenchDataType::infos.BenchBasicDataType_ArrayTag::m_Array
+ (+(i * 
>        [cc]    4)))', which is of non-aggregate type `BenchBasicDataType*'
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:156:
request
>        [cc]    for member `ShortType' in `
>        [cc]    *(output->BenchDataType::infos.BenchBasicDataType_ArrayTag::m_Array
+ (+(i * 
>        [cc]    4)))', which is of non-aggregate type `BenchBasicDataType*'
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:158:
request
>        [cc]    for member `Base64BinaryType' in `
>        [cc]    *(output->BenchDataType::infos.BenchBasicDataType_ArrayTag::m_Array
+ (+(i * 
>        [cc]    4)))', which is of non-aggregate type `BenchBasicDataType*'
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:159:
request
>        [cc]    for member `Base64BinaryType' in `
>        [cc]    *(output->BenchDataType::infos.BenchBasicDataType_ArrayTag::m_Array
+ (+(i * 
>        [cc]    4)))', which is of non-aggregate type `BenchBasicDataType*'
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:161:
request
>        [cc]    for member `Base64BinaryType' in `
>        [cc]    *(output->BenchDataType::infos.BenchBasicDataType_ArrayTag::m_Array
+ (+(i * 
>        [cc]    4)))', which is of non-aggregate type `BenchBasicDataType*'
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:164:
request
>        [cc]    for member `HexBinary' in `
>        [cc]    *(output->BenchDataType::infos.BenchBasicDataType_ArrayTag::m_Array
+ (+(i * 
>        [cc]    4)))', which is of non-aggregate type `BenchBasicDataType*'
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:165:
request
>        [cc]    for member `HexBinary' in `
>        [cc]    *(output->BenchDataType::infos.BenchBasicDataType_ArrayTag::m_Array
+ (+(i * 
>        [cc]    4)))', which is of non-aggregate type `BenchBasicDataType*'
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/AxisBenchClient.cpp:167:
request
>        [cc]    for member `HexBinary' in `
>        [cc]    *(output->BenchDataType::infos.BenchBasicDataType_ArrayTag::m_Array
+ (+(i * 
>        [cc]    4)))', which is of non-aggregate type `BenchBasicDataType*'
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/BenchDataType.cpp:
In 
>        [cc]    function `int Axis_Serialize_BenchDataType(BenchDataType*, 
>        [cc]    axiscpp::IWrapperSoapSerializer*, bool)':
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/BenchDataType.cpp:38:
must
>        [cc]    #include <typeinfo> before using typeid
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/BenchDataType.cpp:
In 
>        [cc]    function `int Axis_DeSerialize_BenchDataType(BenchDataType*, 
>        [cc]    axiscpp::IWrapperSoapDeSerializer*)':
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/BenchDataType.cpp:94:
must
>        [cc]    #include <typeinfo> before using typeid
>        [cc] /home/axistest/test_PA/obj/test/generated/cpp/AxisBench/BenchDataType.cpp:118:
syntax
>        [cc]    error before `long'
>        [cc] g++ failed with return code 1

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


Mime
View raw message