samisa 2005/03/17 06:43:48
Modified: c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal
BeanParamWriter.java
c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info
ParameterInfo.java
Log:
Fixed SOAP tag name problems in case of simple arrays. AXISCPP-510
Revision Changes Path
1.59 +2 -2 ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java
Index: BeanParamWriter.java
===================================================================
RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -r1.58 -r1.59
--- BeanParamWriter.java 16 Mar 2005 03:03:34 -0000 1.58
+++ BeanParamWriter.java 17 Mar 2005 14:43:48 -0000 1.59
@@ -180,7 +180,7 @@
if (attribs[i].isSimpleType()){
//writer.write("\tpSZ->serializeBasicArray((Axis_Array*)(¶m->"+attribs[i].getParamNameAsMember()+"),"+CUtils.getXSDTypeForBasicType(attribs[i].getTypeName())+",
\""+attribs[i].getParamName()+"\");\n");
// cblecken 17/01/2005
- writer.write("\tpSZ->serializeBasicArray((Axis_Array*)(¶m->"+attribs[i].getParamName()+"),
Axis_URI_" + classname + ","+CUtils.getXSDTypeForBasicType(attribs[i].getTypeName())+", \""+attribs[i].getParamName()+"\");\n");
+ writer.write("\tpSZ->serializeBasicArray((Axis_Array*)(¶m->"+attribs[i].getParamName()+"),
Axis_URI_" + classname + ","+CUtils.getXSDTypeForBasicType(attribs[i].getTypeName())+", \""+attribs[i].getParamNameAsSOAPElement()+"\");\n");
}
else
{
@@ -323,7 +323,7 @@
//if Array
if ( attribs[i].isSimpleType())
{
- writer.write("\tarray = pIWSDZ->getBasicArray("+CUtils.getXSDTypeForBasicType(attribs[i].getTypeName())+
", \""+attribs[i].getParamName()+"\",0);\n");
+ writer.write("\tarray = pIWSDZ->getBasicArray("+CUtils.getXSDTypeForBasicType(attribs[i].getTypeName())+
", \""+attribs[i].getParamNameAsSOAPElement()+"\",0);\n");
// writer.write("\tparam->"+attribs[i].getParamNameAsMember()+" = ("+CUtils.getBasicArrayNameforType(attribs[i].getTypeName())+"&)array;\n");
writer.write("\tparam->"+attribs[i].getParamNameAsMember()+".m_Array = ("+attribs[i].getTypeName()+"*)new
"+attribs[i].getTypeName()+"[array.m_Size];\n");
writer.write("\tparam->"+attribs[i].getParamNameAsMember()+".m_Size = array.m_Size;\n\n");
1.18 +11 -0 ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/ParameterInfo.java
Index: ParameterInfo.java
===================================================================
RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/ParameterInfo.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- ParameterInfo.java 16 Mar 2005 03:03:34 -0000 1.17
+++ ParameterInfo.java 17 Mar 2005 14:43:48 -0000 1.18
@@ -114,6 +114,16 @@
attribName.lastIndexOf(SymbolTable.ANON_TOKEN) + 1,
attribName.length());
}
+
+ if( result.charAt(0) == '_') // Make sure SOAP tag name is not prefixed
+ // because it is a key word
+ {
+ String tagname = result.substring(1, result.length() );
+ if( result.equals( TypeMap.resolveWSDL2LanguageNameClashes(tagname,
+ WrapperConstants.LANGUAGE_CPP)))
+ result = tagname;
+
+ }
return result;
}
@@ -140,6 +150,7 @@
TypeMap.resolveWSDL2LanguageNameClashes(
paramName,
WrapperConstants.LANGUAGE_CPP);
+
//Samisa
this.attribName = paramName;
}
|