}
for (int k = 0, nArgCount = event.getArgumentCount(); k < nArgCount; ++k)
{
Argument arg = event.getArgument(k);
Type type = arg.getType();
boolean bVarArg = event.isVarArg() && k == nArgCount - 1;
QName qType = getQualifiedTypeCached(type, bVarArg);
// don't use nillable="true" as that will automatically set minOccurs="1"
// in MS.NET
writeElement(
arg.getName(), null, qType,
(arg.isRequired()) ? 1 : 0, (arg.isCollection()) ? -1 : 1, false,
arg.getDescription());
}
m_writer.endElement("sequence");
m_writer.endElement("complexType");
m_writer.endElement("element");
if (!isExportedEventResult(event))
{
continue; // skip result types that are not exported e.g. for WSDL Basic
}
Argument result = event.getResult();
Type type = (result == null) ? null : result.getType();
boolean bTyped = type != null;
// NOTE: MS.NET requires the result to be wrapped if the arguments are wrapped
// hence must place result inside a complexType
// @see http://servicefactory.codeplex.com/Thread/View.aspx?ThreadId=21981