in src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/ClientStubHeaderWriter.java [78:210]
protected void writeMethods() throws WrapperFault
{
MethodInfo minfo;
try
{
c_writer.write("\n");
c_writer.write("/* ********************************************************************* */\n");
c_writer.write("/* --- Functions relating to web service client proxy --- */\n");
c_writer.write("/* ********************************************************************* */\n");
c_writer.write("\n");
c_writer.write("extern AXISCHANDLE get_" + c_classname + "_stub(const char* pchEndPointUri);\n");
c_writer.write("extern void destroy_" + c_classname + "_stub(AXISCHANDLE pStub);\n");
c_writer.write("extern int get_" + c_classname + "_Status(AXISCHANDLE pStub);\n");
c_writer.write("\n");
c_writer.write("/* ********************************************************************* */\n");
c_writer.write("/* --- Functions relating to web service methods --- */\n");
c_writer.write("/* ********************************************************************* */\n");
c_writer.write("\n");
for (int i = 0; i < methods.size(); i++)
{
minfo = (MethodInfo) this.methods.get(i);
boolean isAllTreatedAsOutParams = false;
int noOfOutParams = minfo.getOutputParameterTypes().size();
//write return type
if (0 == noOfOutParams)
c_writer.write("extern void ");
else if (1 == noOfOutParams)
{
ParameterInfo returnParam =
(ParameterInfo) minfo.getOutputParameterTypes().iterator().next();
String outParamTypeName = CUtils.getClassNameFromParamInfoConsideringArrays(returnParam, wscontext);
if ((CUtils.isArrayType(outParamTypeName))
|| (CUtils.isSimpleType(outParamTypeName)
&& (returnParam.isNillable() || returnParam.isOptional())
&& !(CUtils.isPointerType(outParamTypeName))))
c_writer.write("extern " + outParamTypeName + " * ");
else
c_writer.write("extern " + outParamTypeName + " ");
}
else
{
isAllTreatedAsOutParams = true;
c_writer.write("extern void ");
}
//write return type
c_writer.write(minfo.getSanitizedMethodName() + "(AXISCHANDLE pStub");
//write parameter names
Iterator params = minfo.getInputParameterTypes().iterator();
if (params.hasNext())
{
c_writer.write(", ");
ParameterInfo fparam = (ParameterInfo) params.next();
String paramTypeName = CUtils
.getClassNameFromParamInfoConsideringArrays(
fparam,
wscontext);
if ((CUtils.isArrayType(paramTypeName))
|| (CUtils.isSimpleType(paramTypeName)
&& fparam.isNillable()
&& !(CUtils.isPointerType(paramTypeName))))
{
c_writer.write(
paramTypeName
+ " * Value"
+ 0);
}
else
{
c_writer.write(
paramTypeName
+ " Value"
+ 0);
}
}
for (int j = 1; params.hasNext(); j++)
{
c_writer.write(", ");
ParameterInfo nparam = (ParameterInfo) params.next();
String paramTypeName = CUtils
.getClassNameFromParamInfoConsideringArrays(
nparam,
wscontext);
if (CUtils.isSimpleType(paramTypeName)
&& nparam.isNillable()
&& !(CUtils.isPointerType(paramTypeName)))
{
c_writer.write(", "
+ paramTypeName
+ " * Value"
+ j);
}
else
{
c_writer.write(", "
+ paramTypeName
+ " Value"
+ j);
}
}
if (isAllTreatedAsOutParams)
{
params = minfo.getOutputParameterTypes().iterator();
for (int j = 0; params.hasNext(); j++)
{
ParameterInfo nparam = (ParameterInfo) params.next();
c_writer.write(
", AXISC_OUT_PARAM "
+ CUtils
.getClassNameFromParamInfoConsideringArrays(
nparam,
wscontext)
+ " *OutValue"
+ j);
}
}
c_writer.write(");\n");
}
}
catch (Exception e)
{
throw new WrapperFault(e);
}
}