for (WebMethod webMethod : ei.getWebMethods()) {
for (WebParam webParam : webMethod.getWebParameters()) {
//no out or in/out non-header parameters!
if (webParam.isHeader()) {
//unique parameter names for all header parameters of a given ei
Declaration conflict = paramsByName.put(webParam.getElementName(), webParam);
if (conflict != null) {
result.addError(webParam, "C# requires that all header parameters defined in the same endpoint interface have unique names. " +
"This parameter conflicts with the one at " + (conflict.getPosition() == null ? "(unknown source position)" : conflict.getPosition()));
}
DecoratedTypeMirror paramType = (DecoratedTypeMirror) webParam.getType();
if (paramType.isCollection()) {
result.addError(webParam, "C# can't handle header parameters that are collections.");
}
}
else if (webParam.getMode() != javax.jws.WebParam.Mode.IN) {
result.addError(webParam, "C# doesn't support non-header parameters of mode " + webParam.getMode());
}
//parameters/results can't be maps
if (webParam.getType() instanceof MapType) {
result.addError(webParam, "C# can't handle types that are maps.");
}
}
//web result cannot be a header.
if (webMethod.getWebResult().isHeader()) {
Declaration conflict = paramsByName.put(webMethod.getWebResult().getElementName(), webMethod);
if (conflict != null) {
result.addError(webMethod, "C# requires that all header parameters defined in the same endpoint interface have unique names. " +
"This parameter conflicts with the one at " + (conflict.getPosition() == null ? "(unknown source position)" : conflict.getPosition()));
}
}
if (webMethod.getWebResult().getType() instanceof MapType) {
result.addError(webMethod, "C# can't handle types that are maps.");