Hi All,

 

I noticed that the service code for the test MultiOut cannot be compiled. It gives the following error message.

 

MultiOutWrapper.cpp

MultiOutWrapper.cpp(90) : error C2440: 'type cast' : cannot convert from 'double

' to 'void *'

        There is no context in which this conversion is possible

MultiOutWrapper.cpp(91) : error C2440: 'type cast' : cannot convert from 'float'

 to 'void *'

        There is no context in which this conversion is possible

MultiOutWrapper.cpp(92) : error C2440: 'type cast' : cannot convert from 'double

' to 'void *'

        There is no context in which this conversion is possible

Generating Code...

 

The code snippet where the error occurs is follows.

 

 

int MultiOutWrapper::get(void* pMsg)

{

            IMessageData* mc = (IMessageData*)pMsg;

            int nStatus;

            IWrapperSoapSerializer* pIWSSZ = NULL;

            mc->getSoapSerializer(&pIWSSZ);

            if (!pIWSSZ) return AXIS_FAIL;

            IWrapperSoapDeSerializer* pIWSDZ = NULL;

            mc->getSoapDeSerializer(&pIWSDZ);

            if (!pIWSDZ) return AXIS_FAIL;

            /* check whether we have got correct message */

            if (AXIS_SUCCESS != pIWSDZ->checkMessageBody("get0", "http://localhost/axis/MultiOut")) return AXIS_FAIL;

            pIWSSZ->createSoapMethod("get", "http://localhost/axis/MultiOut");

            if (AXIS_SUCCESS != (nStatus = pIWSDZ->getStatus())) return nStatus;

            xsd__string out0;

            xsd__integer out1;

            xsd__int out2;

            xsd__long out3;

            xsd__short out4;

            xsd__decimal out5;

            xsd__float out6;

            xsd__double out7;

            xsd__boolean out8;

            xsd__byte out9;

            try

            {

            pWs->get(&out0,&out1,&out2,&out3,&out4,&out5,&out6,&out7,&out8,&out9);

            pIWSSZ->addOutputParam("out1", (void*)out0, XSD_STRING);

            pIWSSZ->addOutputParam("out14", (void*)out1, XSD_INTEGER);

            pIWSSZ->addOutputParam("out15", (void*)out2, XSD_INT);

            pIWSSZ->addOutputParam("out16", (void*)out3, XSD_LONG);

            pIWSSZ->addOutputParam("out17", (void*)out4, XSD_SHORT);

            -----à//pIWSSZ->addOutputParam("out18", (void*)out5, XSD_DECIMAL);

            -----à//pIWSSZ->addOutputParam("out19", (void*)out6, XSD_FLOAT);

            -----à//pIWSSZ->addOutputParam("out20", (void*)out7, XSD_DOUBLE);

            pIWSSZ->addOutputParam("out21", (void*)out8, XSD_BOOLEAN);

            pIWSSZ->addOutputParam("out22", (void*)out9, XSD_BYTE);

            return AXIS_SUCCESS;

            }

            catch(...){

            }

}

 

Few days back, I fixed some issues related to this test and was able to get the test running properly. Yesterday evening I notice this problem. Any clues??

 

Regards,

 

Marcus Dushshantha Chandradasa

Team Virtusa

dchadradasa@virtusa.com