いくつかのJavaコードを調べてみると、これは正しくないようです。私には、プロジェクトを呼び出すたびに新しいハッシュマップが取得されるように見えるため、このステートメントは常にfalseです。
projects.get(soapFileName) != null
バッキングフィールドが必要なようです
public static HashMap<String,WsdlProject> projects = new HashMap<String,WsdlProject>();
public Object[] argumentsFromCallSoapui(CallT call, Vector<String> soapuiFiles, HashMap theDPLs,int messageSize)
{
try {
for (String soapFileName:soapuiFiles){
System.out.println("Trying "+soapFileName);
WsdlProject project ;
if (projects.get(soapFileName) != null){
project = projects.get(soapFileName);
} else {
project = new WsdlProject(soapFileName);
projects.put(soapFileName,project);
}
}
} ...
}