[153834] ServiceRefapi fix
diff --git a/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/helper/WebServicesManager.java b/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/helper/WebServicesManager.java
index 1cb760c..0360b41 100644
--- a/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/helper/WebServicesManager.java
+++ b/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/helper/WebServicesManager.java
@@ -617,8 +617,15 @@
while (iter.hasNext()) {
WSCDDArtifactEdit artifactEdit = (WSCDDArtifactEdit) iter.next();
WebServicesResource res = artifactEdit.getWscddXmiResource();
- if (res != null && res.isLoaded() && res.getWebServicesClient() != null)
- result.addAll(res.getWebServicesClient().getServiceRefs());
+ if (res != null && res.isLoaded() && res.getWebServicesClient() != null) {
+ if (J2EEProjectUtilities.isEJBProject(artifactEdit.getProject())) {
+ List scopedBeans = res.getWebServicesClient().getComponentScopedRefs();
+ for (Iterator iterator = scopedBeans.iterator(); iterator.hasNext();) {
+ ComponentScopedRefs refBean = (ComponentScopedRefs) iterator.next();
+ result.addAll(refBean.getServiceRefs());
+ }
+ } else result.addAll(res.getWebServicesClient().getServiceRefs());
+ }
}
return result;
}
@@ -643,7 +650,7 @@
try {
EObject rootObject = null;
if (artifactEdit!=null)
- artifactEdit.getContentModelRoot();
+ rootObject = artifactEdit.getContentModelRoot();
// handle EJB project case
if (rootObject instanceof EJBJar) {
List cmps = ((EJBJar) rootObject).getEnterpriseBeans();