Differences between revisions 6 and 7
Revision 6 as of 2006-09-22 16:58:00
Size: 1277
Editor: JeanVincent
Comment:
Revision 7 as of 2009-09-20 22:48:49
Size: 1277
Editor: localhost
Comment: converted to 1.6 markup
No differences found!

WSDL2Ws Axis_DeSerialize_<type> functions generate the following code for type xsd_string:

  • xsdstring* p_XXX \= (pIWSDZ->getElementAsString("XXX",0)); param->XXX \= *p_XXX; delete p_XXX;

You need to manually change this to (remove two * and comment out the delete):

  • xsdstring p_XXX \= (pIWSDZ->getElementAsString("XXX",0)); param->XXX \= p_XXX; // delete p_XXX;

For type xsd_int, it generates:

  • xsdint* p_XXX = (pIWSDZ->getElementAsInt("XXX",1)); param->XXX = *p_XXX; delete p_XXX;

You need to manually change this to (remove one * on second expression and comment out last line):

  • xsdint* p_BEN_NAI_DRI = (pIWSDZ->getElementAsInt("BEN_NAI_DRI",1)); param->BEN_NAI_DRI = p_BEN_NAI_DRI; // delete p_BEN_NAI_DRI;

There are probably better fixes, I went quickly through the code and found the bug to be line 661 in writeDeSerializeGlobalMethod at src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java

After looking through I found a bug open for this issue: https://issues.apache.org/jira/browse/AXISCPP-966 I have updated the issue with hints at required code changes.

Another workarround is to not use nillable="true" until this is fixed.

Bugs_and_Patches (last edited 2009-09-20 22:48:49 by localhost)