djencks 2005/05/16 20:29:27
Modified: modules/openejb-builder/src/java/org/openejb/deployment
AxisWebServiceContainerBuilder.java
SessionBuilder.java
Log:
GERONIMO-648 ejb web services security
Revision Changes Path
1.6 +24 -8
openejb/modules/openejb-builder/src/java/org/openejb/deployment/AxisWebServiceContainerBuilder.java
Index: AxisWebServiceContainerBuilder.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/java/org/openejb/deployment/AxisWebServiceContainerBuilder.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- AxisWebServiceContainerBuilder.java 15 Apr 2005 05:36:53 -0000
1.5
+++ AxisWebServiceContainerBuilder.java 17 May 2005 00:29:27 -0000
1.6
@@ -61,17 +61,16 @@
import org.apache.geronimo.xbeans.j2ee.SessionBeanType;
import org.openejb.server.axis.WSContainerGBean;
import org.openejb.xbeans.ejbjar.OpenejbSessionBeanType;
+import org.openejb.xbeans.ejbjar.OpenejbWebServiceSecurityType;
public class AxisWebServiceContainerBuilder {
- private static final Log log =
LogFactory.getLog(AxisWebServiceContainerBuilder.class);
-
/*
* The ultimate goal of this method is to create an XFireService GBean
that wraps the EJBContainer with
* the corresponding sessionObjectname and is capable of being indexed
by its WSDL address location.
*/
- public void addGbean(EARContext earContext, EJBModule ejbModule,
ClassLoader cl, ObjectName sessionObjectName, ObjectName listener,
SessionBeanType sessionBean, OpenejbSessionBeanType openejbSessionBean,
TransactionPolicyHelper transactionPolicyHelper) throws DeploymentException {
+ public void addGbean(EARContext earContext, EJBModule ejbModule,
ClassLoader cl, ObjectName sessionObjectName, ObjectName listener,
SessionBeanType sessionBean, OpenejbSessionBeanType openejbSessionBean,
TransactionPolicyHelper transactionPolicyHelper, OpenejbWebServiceSecurityType
webServiceSecurity) throws DeploymentException {
boolean isStateless =
"Stateless".equals(sessionBean.getSessionType().getStringValue());
String serviceEndpointName =
OpenEJBModuleBuilder.getJ2eeStringValue(sessionBean.getServiceEndpoint());
@@ -83,12 +82,12 @@
serviceEndpointName = serviceEndpointName.trim();
- GBeanData gBean = buildGBeanData(sessionObjectName, listener,
ejbName, serviceEndpointName, ejbModule.getModuleFile(), cl);
+ GBeanData gBean = buildGBeanData(sessionObjectName, listener,
ejbName, serviceEndpointName, ejbModule.getModuleFile(), cl,
webServiceSecurity);
earContext.addGBean(gBean);
}
- public GBeanData buildGBeanData(ObjectName sessionObjectName, ObjectName
listener, String ejbName, String serviceEndpointName, JarFile jarFile,
ClassLoader cl) throws DeploymentException {
+ GBeanData buildGBeanData(ObjectName sessionObjectName, ObjectName
listener, String ejbName, String serviceEndpointName, JarFile jarFile,
ClassLoader cl, OpenejbWebServiceSecurityType webServiceSecurity) throws
DeploymentException {
ServiceInfo serviceInfo =
AxisServiceBuilder.createServiceInfo(jarFile, ejbName, cl);
JavaServiceDesc ejbServiceDesc = serviceInfo.getServiceDesc();
@@ -109,8 +108,25 @@
} catch (URISyntaxException e) {
throw new DeploymentException("Invalid address location URI:
"+ejbServiceDesc.getEndpointURL(), e);
}
-
- GBeanData gBean =
WSContainerGBean.createGBean(ejbName,sessionObjectName,listener, location,
wsdlURI, serviceInfo);
+ String securityRealmName = null;
+ String realmName = null;
+ String transportGuarantee = null;
+ String authMethod = null;
+ if (webServiceSecurity != null) {
+ securityRealmName =
webServiceSecurity.getSecurityRealmName().trim();
+ realmName = webServiceSecurity.getRealmName().trim();
+ transportGuarantee =
webServiceSecurity.getTransportGuarantee().toString();
+ authMethod = webServiceSecurity.getAuthMethod().toString();
+ }
+ GBeanData gBean = WSContainerGBean.createGBean(ejbName,
+ sessionObjectName,
+ listener,
+ location,
+ wsdlURI,
+ serviceInfo,
+ securityRealmName,
+ realmName,
+ transportGuarantee, authMethod);
return gBean;
}
}
1.24 +1 -1
openejb/modules/openejb-builder/src/java/org/openejb/deployment/SessionBuilder.java
Index: SessionBuilder.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/java/org/openejb/deployment/SessionBuilder.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- SessionBuilder.java 18 Apr 2005 19:05:16 -0000 1.23
+++ SessionBuilder.java 17 May 2005 00:29:27 -0000 1.24
@@ -179,7 +179,7 @@
// XFireWebServiceContainerBuilder xfireWebServiceBuilder = new
XFireWebServiceContainerBuilder();
// xfireWebServiceBuilder.addGbean(earContext, ejbModule, cl,
sessionObjectName, listener, sessionBean, openejbSessionBean,
transactionPolicyHelper, security);
AxisWebServiceContainerBuilder axisWebServiceContainerBuilder = new
AxisWebServiceContainerBuilder();
- axisWebServiceContainerBuilder.addGbean(earContext, ejbModule, cl,
sessionObjectName, listener, sessionBean, openejbSessionBean,
transactionPolicyHelper);
+ axisWebServiceContainerBuilder.addGbean(earContext, ejbModule, cl,
sessionObjectName, listener, sessionBean, openejbSessionBean,
transactionPolicyHelper, openejbSessionBean == null? null:
openejbSessionBean.getWebServiceSecurity());
}
private void addEJBContainerGBean(EARContext earContext, EJBModule
ejbModule, ComponentPermissions componentPermissions, ClassLoader cl,
ObjectName sessionObjectName, SessionBeanType sessionBean,
OpenejbSessionBeanType openejbSessionBean, TransactionPolicyHelper
transactionPolicyHelper, String policyContextID) throws DeploymentException {