axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Hawkins <HAWKI...@uk.ibm.com>
Subject RE: Supporting complexType with simpleContent - FYI
Date Fri, 20 Aug 2004 14:40:38 GMT




fyi: the alpha code drop appears not to creatae a valid stub e.g.

      if(AXIS_SUCCESS == m_pCall->checkMessage("getInputResponse",
"http://www.sample.com/Enumeration.wsdl"))
      {
            pReturn = (Type1*)m_pCall->getCmplxObject((void*)
Axis_DeSerialize_Type1, (void*) Axis_Create_Type1, (void*)
Axis_Delete_Type1,">getInputResponse>type", 0);
      }
being produced in the client code (note the ">getInputResponse>type", )
there are other errors like this in the created stubs.

We also found another example that was fixed by a previous patch that has
been overwritten/removed since 1.2. Something has regressed - any clues?
These errors do not show up in compilation only when running tests because
the SOAP across the wire is screwed up.

Was any testing done on this code before shipping?  Things like this just
re-emphasise the need for daily builds with tests running off the build :-(

John




                                                                           
             "Susantha Kumara"                                             
             <susantha@opensou                                             
             rce.lk>                                                    To 
                                                                           
             20/08/2004 14:06                                           cc 
                                       "'Apache AXIS C User List'"         
                                       <axis-c-user@ws.apache.org>         
             Please respond to                                     Subject 
              "Apache AXIS C           RE: Supporting complexType with     
                User List"             simpleContent - FYI                 
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




Hi all,





I have added the support for complexTypes with simpleContent. Now the code
generates fine for such complexTypes.


But I did not have much time to test any server/client code generated.





I have committed the code because it has no affect on the rest of the code.





Please have a try with wsdls with complexTypes with simpleContent (Ex: uddi
wsdl ) and let me know if it works fine.





Susantha


---


-----Original Message-----
From: Susantha Kumara [mailto:susantha@opensource.lk]
Sent: Wednesday, August 18, 2004 5:27 PM
To: 'Apache AXIS C Developers List'
Subject: Supporting complexType with simpleContent - FYI





Hi all,





I am working on Supporting complexType s with simpleContent and need to add
new functions to Serializer and Deserializer.





serializeAsChardata to the serialzer





and





getChardataAsString to the deserializer





Then the corresponding code generated for





<xsd:complexType name="name">


           <xsd:simpleContent>


                 <xsd:extension base="string">


                       <xsd:attribute ref="xml:lang" use="optional"/>


                 </xsd:extension>


           </xsd:simpleContent>


     </xsd:complexType>





will be





class name


{


public:


    xsd__string name_value; /*extension base type*/


    xsd__string lang; /*attribute*/


     name();


     ~name();


};





/* Serialized stream of the name object


<name lang="en">some string in english </name>


*/





/*


* This static method serialize a name type of object


*/


int Axis_Serialize_name(name* param, IWrapperSoapSerializer* pSZ)


{


    if ( param == NULL ) {


        /* TODO : may need to check nillable value*/


        pSZ->serializeAsAttribute("xsi:nil", 0, (void*)&(xsd_boolean_true),
XSD_BOOLEAN);


        pSZ->serialize(">", NULL);


        return AXIS_SUCCESS;


    }


    /* first serialize attributes if any*/


    pSZ->serializeAsAttribute("lang", 0, (void*)&(param->lang),
XSD_STRING);


    pSZ->serialize(">", 0);


    pSZ->serializeAsChardata((void*)&(param->name_value), XSD_STRING);


    return AXIS_SUCCESS;


}





/*


* This static method deserialize a name type of object


*/


int Axis_DeSerialize_name(name* param, IWrapperSoapDeSerializer* pIWSDZ)


{


     param->lang = pIWSDZ->getAttributeAsString("lang",0);


    param->name_value = pIWSDZ->getChardataAsString();


}





I am doing the improvements to serializer/deserializer code as well as
WSDL2Ws code.





Susantha


---







Mime
View raw message