Author: dain
Date: Mon Nov 5 19:57:34 2007
New Revision: 592257
URL: http://svn.apache.org/viewvc?rev=592257&view=rev
Log:
Extract ejb bind location from wsdl file
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/SunConversion.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/WsDeployer.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/JaxWsUtils.java
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/Ejb.java
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/EnterpriseBeans.java
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/Servlet.java
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/WebserviceDescription.java
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/WebserviceEndpoint.java
openejb/trunk/openejb3/container/openejb-jee/src/test/resources/application-client-example.xml
openejb/trunk/openejb3/container/openejb-jee/src/test/resources/ejb-jar-example1.xml
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/SunConversion.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/SunConversion.java?rev=592257&r1=592256&r2=592257&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/SunConversion.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/SunConversion.java
Mon Nov 5 19:57:34 2007
@@ -16,30 +16,20 @@
*/
package org.apache.openejb.config;
-import java.io.ByteArrayInputStream;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.StringTokenizer;
-import java.util.TreeMap;
-
+import org.apache.openejb.jee.ApplicationClient;
import org.apache.openejb.jee.CmpField;
import org.apache.openejb.jee.EjbJar;
import org.apache.openejb.jee.EnterpriseBean;
import org.apache.openejb.jee.EntityBean;
-import org.apache.openejb.jee.PersistenceType;
-import org.apache.openejb.jee.ApplicationClient;
import org.apache.openejb.jee.JndiReference;
-import org.apache.openejb.jee.WebApp;
-import org.apache.openejb.jee.ServiceRef;
+import org.apache.openejb.jee.PersistenceType;
+import org.apache.openejb.jee.PortComponent;
import org.apache.openejb.jee.PortComponentRef;
+import org.apache.openejb.jee.ServiceRef;
+import org.apache.openejb.jee.WebApp;
import org.apache.openejb.jee.WebserviceDescription;
-import org.apache.openejb.jee.PortComponent;
+import org.apache.openejb.jee.ServiceImplBean;
+import org.apache.openejb.jee.jpa.AttributeOverride;
import org.apache.openejb.jee.jpa.Attributes;
import org.apache.openejb.jee.jpa.Basic;
import org.apache.openejb.jee.jpa.Column;
@@ -57,10 +47,9 @@
import org.apache.openejb.jee.jpa.RelationField;
import org.apache.openejb.jee.jpa.SecondaryTable;
import org.apache.openejb.jee.jpa.Table;
-import org.apache.openejb.jee.jpa.AttributeOverride;
-import org.apache.openejb.jee.oejb3.OpenejbJar;
import org.apache.openejb.jee.oejb3.EjbDeployment;
import org.apache.openejb.jee.oejb3.EjbLink;
+import org.apache.openejb.jee.oejb3.OpenejbJar;
import org.apache.openejb.jee.oejb3.ResourceLink;
import org.apache.openejb.jee.sun.Cmp;
import org.apache.openejb.jee.sun.CmpFieldMapping;
@@ -68,21 +57,35 @@
import org.apache.openejb.jee.sun.ColumnName;
import org.apache.openejb.jee.sun.ColumnPair;
import org.apache.openejb.jee.sun.Ejb;
+import org.apache.openejb.jee.sun.EjbRef;
import org.apache.openejb.jee.sun.EntityMapping;
import org.apache.openejb.jee.sun.Finder;
import org.apache.openejb.jee.sun.JaxbSun;
+import org.apache.openejb.jee.sun.MessageDestinationRef;
import org.apache.openejb.jee.sun.OneOneFinders;
+import org.apache.openejb.jee.sun.PortInfo;
+import org.apache.openejb.jee.sun.ResourceEnvRef;
+import org.apache.openejb.jee.sun.ResourceRef;
+import org.apache.openejb.jee.sun.StubProperty;
+import org.apache.openejb.jee.sun.SunApplicationClient;
import org.apache.openejb.jee.sun.SunCmpMapping;
import org.apache.openejb.jee.sun.SunCmpMappings;
import org.apache.openejb.jee.sun.SunEjbJar;
-import org.apache.openejb.jee.sun.EjbRef;
-import org.apache.openejb.jee.sun.SunApplicationClient;
-import org.apache.openejb.jee.sun.ResourceEnvRef;
-import org.apache.openejb.jee.sun.MessageDestinationRef;
-import org.apache.openejb.jee.sun.ResourceRef;
import org.apache.openejb.jee.sun.SunWebApp;
-import org.apache.openejb.jee.sun.PortInfo;
-import org.apache.openejb.jee.sun.StubProperty;
+import org.apache.openejb.jee.sun.WebserviceEndpoint;
+
+import java.io.ByteArrayInputStream;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.StringTokenizer;
+import java.util.TreeMap;
//
// Note to developer: the best doc on what the sun-cmp-mappings element mean
can be foudn here
@@ -461,6 +464,7 @@
if (sunEjbJar == null) return;
if (sunEjbJar.getEnterpriseBeans() == null) return;
+ Map<String,Map<String, WebserviceEndpoint>> endpointMap = new
HashMap<String,Map<String, WebserviceEndpoint>>();
for (Ejb ejb : sunEjbJar.getEnterpriseBeans().getEjb()) {
EjbDeployment deployment =
openejbJar.getDeploymentsByEjbName().get(ejb.getEjbName());
if (deployment == null) {
@@ -570,19 +574,36 @@
deployment.setContainerId(resourceAdapterId);
}
+ endpointMap.put(ejb.getEjbName(), ejb.getWebserviceEndpointMap());
+ }
- // map wsdl locations
- if (ejbModule.getWebservices() != null) {
- Map<String, WebserviceDescription> descriptions =
ejbModule.getWebservices().getWebserviceDescriptionMap();
- for (org.apache.openejb.jee.sun.WebserviceDescription
sunDescription : sunEjbJar.getEnterpriseBeans().getWebserviceDescription()) {
- WebserviceDescription description =
descriptions.get(sunDescription.getWebserviceDescriptionName());
- if (description == null) continue;
+ // map wsdl locations
+ if (ejbModule.getWebservices() != null) {
+ Map<String, org.apache.openejb.jee.sun.WebserviceDescription>
sunDescriptions = sunEjbJar.getEnterpriseBeans().getWebserviceDescriptionMap();
+ for (WebserviceDescription description :
ejbModule.getWebservices().getWebserviceDescription()) {
+ org.apache.openejb.jee.sun.WebserviceDescription
sunDescription =
sunDescriptions.get(description.getWebserviceDescriptionName());
+
+ // get the portId if specified
+ String portId = null;
+ if (sunDescription != null) {
+ portId =
extractPortId(sunDescription.getWsdlPublishLocation(),
description.getWsdlFile());
+ }
- String portId =
extractPortId(sunDescription.getWsdlPublishLocation(),
description.getWsdlFile());
+ for (PortComponent port : description.getPortComponent()) {
+ // set the portId
if (portId != null) {
- for (PortComponent portComponent :
description.getPortComponent()) {
- // this could be a problem multiple port
components used at runtime
- portComponent.setId(portId);
+ port.setId(portId);
+ }
+
+ // set the bind location
+ ServiceImplBean bean = port.getServiceImplBean();
+ if (bean != null && bean.getEjbLink() != null) {
+ Map<String, WebserviceEndpoint> endpoints =
endpointMap.get(bean.getEjbLink());
+ if (endpoints != null) {
+ WebserviceEndpoint endpoint =
endpoints.get(port.getPortComponentName());
+ if (endpoint != null &&
endpoint.getEndpointAddressUri() != null) {
+
port.setLocation(endpoint.getEndpointAddressUri());
+ }
}
}
}
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/WsDeployer.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/WsDeployer.java?rev=592257&r1=592256&r2=592257&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/WsDeployer.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/WsDeployer.java
Mon Nov 5 19:57:34 2007
@@ -35,15 +35,19 @@
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
-import javax.xml.namespace.QName;
import javax.wsdl.Definition;
+import javax.wsdl.Port;
+import javax.wsdl.extensions.http.HTTPAddress;
+import javax.wsdl.extensions.soap.SOAPAddress;
+import javax.xml.namespace.QName;
import java.io.File;
import java.net.MalformedURLException;
+import java.net.URI;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
-import java.util.TreeMap;
import java.util.Set;
+import java.util.TreeMap;
public class WsDeployer implements DynamicDeployer {
public static final Logger logger =
Logger.getInstance(LogCategory.OPENEJB_STARTUP,
WsDeployer.class.getPackage().getName());
@@ -165,6 +169,7 @@
if (portComponent == null) {
// create port
portComponent = new PortComponent();
+
portComponent.setPortComponentName(JaxWsUtils.getName(clazz));
ServiceImplBean serviceImplBean = new
ServiceImplBean();
serviceImplBean.setServletLink(className);
portComponent.setServiceImplBean(serviceImplBean);
@@ -191,9 +196,6 @@
if (portComponent.getServiceEndpointInterface() == null) {
portComponent.setServiceEndpointInterface(JaxWsUtils.getServiceInterface(clazz));
}
- if (portComponent.getPortComponentName() == null) {
-
portComponent.setPortComponentName(JaxWsUtils.getName(clazz));
- }
if (portComponent.getWsdlPort() == null) {
portComponent.setWsdlPort(JaxWsUtils.getPortQName(clazz));
}
@@ -225,9 +227,25 @@
}
}
+ URL baseURL = null;
+ try {
+ File file = new File(ejbModule.getJarLocation());
+ if (file.exists()) {
+ baseURL = file.toURL();
+ if (file.isFile()) {
+ baseURL = new URL("jar", null, baseURL.toExternalForm() +
"!/");
+ }
+ } else {
+ baseURL = new URL(ejbModule.getJarLocation());
+ }
+ } catch (MalformedURLException e) {
+ logger.error("Invalid module location " +
ejbModule.getJarLocation());
+ }
+
Map<String, EjbDeployment> deploymentsByEjbName =
ejbModule.getOpenejbJar().getDeploymentsByEjbName();
WebserviceDescription webserviceDescription = null;
+ Definition definition = null;
for (EnterpriseBean enterpriseBean :
ejbModule.getEjbJar().getEnterpriseBeans()) {
// skip if this is not a webservices endpoint
if (!(enterpriseBean instanceof SessionBean)) continue;
@@ -235,16 +253,20 @@
if (sessionBean.getSessionType() != SessionType.STATELESS)
continue;
if (sessionBean.getServiceEndpoint() == null) continue;
+
EjbDeployment deployment =
deploymentsByEjbName.get(sessionBean.getEjbName());
if (deployment == null) continue;
- Class<?> ejbClass = null;
+ Class<?> ejbClass;
try {
ejbClass =
ejbModule.getClassLoader().loadClass(sessionBean.getEjbClass());
} catch (ClassNotFoundException e) {
throw new OpenEJBException("Unable to load ejb class: " +
sessionBean.getEjbClass(), e);
}
+ // for now, skip all non jaxws beans
+ if (!JaxWsUtils.isWebService(ejbClass)) continue;
+
// create webservices dd if not defined
if (webservices == null) {
webservices = new Webservices();
@@ -264,6 +286,7 @@
PortComponent portComponent =
portMap.get(sessionBean.getEjbName());
if (portComponent == null) {
portComponent = new PortComponent();
+
portComponent.setPortComponentName(JaxWsUtils.getName(ejbClass));
webserviceDescription.getPortComponent().add(portComponent);
ServiceImplBean serviceImplBean = new ServiceImplBean();
@@ -283,9 +306,6 @@
// default location is /@WebService.serviceName/@WebService.name
if (JaxWsUtils.isWebService(ejbClass)) {
- if (portComponent.getPortComponentName() == null) {
-
portComponent.setPortComponentName(JaxWsUtils.getName(ejbClass));
- }
if (portComponent.getWsdlPort() == null) {
portComponent.setWsdlPort(JaxWsUtils.getPortQName(ejbClass));
}
@@ -295,9 +315,47 @@
if (webserviceDescription.getWsdlFile() == null) {
webserviceDescription.setWsdlFile(JaxWsUtils.getServiceWsdlLocation(ejbClass,
ejbModule.getClassLoader()));
}
+ if (portComponent.getLocation() == null &&
webserviceDescription.getWsdlFile() != null && baseURL != null) {
+ if (definition == null) {
+ try {
+ definition = ReadDescriptors.readWsdl(new
URL(baseURL, webserviceDescription.getWsdlFile()));
+ } catch (Exception e) {
+ }
+ }
+
+ // set location based on wsdl port
+ String locationURI = getLocationFromWsdl(definition,
portComponent);
+ portComponent.setLocation(locationURI);
+ }
} else {
// todo location JAX-RPC services comes from wsdl file
}
}
+ }
+
+ private String getLocationFromWsdl(Definition definition, PortComponent
portComponent) {
+ if (definition == null) return null;
+
+ try {
+ javax.wsdl.Service service =
definition.getService(portComponent.getWsdlService());
+ if (service == null) return null;
+
+ Port port =
service.getPort(portComponent.getWsdlPort().getLocalPart());
+ if (port == null) return null;
+
+ for (Object element : port.getExtensibilityElements()) {
+ if (element instanceof SOAPAddress) {
+ SOAPAddress soapAddress = (SOAPAddress) element;
+ URI uri = new URI(soapAddress.getLocationURI());
+ return uri.getPath();
+ } else if (element instanceof HTTPAddress) {
+ HTTPAddress httpAddress = (HTTPAddress) element;
+ URI uri = new URI(httpAddress.getLocationURI());
+ return uri.getPath();
+ }
+ }
+ } catch (Exception e) {
+ }
+ return null;
}
}
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/JaxWsUtils.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/JaxWsUtils.java?rev=592257&r1=592256&r2=592257&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/JaxWsUtils.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/webservices/JaxWsUtils.java
Mon Nov 5 19:57:34 2007
@@ -196,7 +196,7 @@
WebServiceProvider webServiceProvider =
clazz.getAnnotation(WebServiceProvider.class);
if (webServiceProvider != null) {
- return clazz.getSimpleName();
+ return clazz.getName();
}
throw new IllegalArgumentException("The " + clazz.getName() + " is not
annotated");
Modified:
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/Ejb.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/Ejb.java?rev=592257&r1=592256&r2=592257&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/Ejb.java
(original)
+++
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/Ejb.java
Mon Nov 5 19:57:34 2007
@@ -16,6 +16,8 @@
*/
package org.apache.openejb.jee.sun;
+import org.apache.openejb.jee.KeyedCollection;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
@@ -24,7 +26,9 @@
import javax.xml.bind.annotation.adapters.NormalizedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
+import java.util.Map;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
@@ -105,7 +109,7 @@
@XmlElement(name = "mdb-resource-adapter")
protected MdbResourceAdapter mdbResourceAdapter;
@XmlElement(name = "webservice-endpoint")
- protected List<WebserviceEndpoint> webserviceEndpoint;
+ protected KeyedCollection<String,WebserviceEndpoint> webserviceEndpoint;
@XmlElement(name = "flush-at-end-of-method")
protected FlushAtEndOfMethod flushAtEndOfMethod;
@XmlElement(name = "checkpointed-methods")
@@ -300,11 +304,18 @@
this.mdbResourceAdapter = value;
}
- public List<WebserviceEndpoint> getWebserviceEndpoint() {
+ public Collection<WebserviceEndpoint> getWebserviceEndpoint() {
if (webserviceEndpoint == null) {
- webserviceEndpoint = new ArrayList<WebserviceEndpoint>();
+ webserviceEndpoint = new
KeyedCollection<String,WebserviceEndpoint>();
}
return this.webserviceEndpoint;
+ }
+
+ public Map<String,WebserviceEndpoint> getWebserviceEndpointMap() {
+ if (webserviceEndpoint == null) {
+ webserviceEndpoint = new
KeyedCollection<String,WebserviceEndpoint>();
+ }
+ return this.webserviceEndpoint.toMap();
}
public FlushAtEndOfMethod getFlushAtEndOfMethod() {
Modified:
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/EnterpriseBeans.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/EnterpriseBeans.java?rev=592257&r1=592256&r2=592257&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/EnterpriseBeans.java
(original)
+++
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/EnterpriseBeans.java
Mon Nov 5 19:57:34 2007
@@ -16,12 +16,16 @@
*/
package org.apache.openejb.jee.sun;
+import org.apache.openejb.jee.KeyedCollection;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
+import java.util.Map;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
@@ -45,7 +49,7 @@
@XmlElement(name = "message-destination")
protected List<MessageDestination> messageDestination;
@XmlElement(name = "webservice-description")
- protected List<WebserviceDescription> webserviceDescription;
+ protected KeyedCollection<String, WebserviceDescription>
webserviceDescription;
public String getName() {
return name;
@@ -93,10 +97,17 @@
return this.messageDestination;
}
- public List<WebserviceDescription> getWebserviceDescription() {
+ public Collection<WebserviceDescription> getWebserviceDescription() {
if (webserviceDescription == null) {
- webserviceDescription = new ArrayList<WebserviceDescription>();
+ webserviceDescription = new
KeyedCollection<String,WebserviceDescription>();
}
return this.webserviceDescription;
+ }
+
+ public Map<String,WebserviceDescription> getWebserviceDescriptionMap() {
+ if (webserviceDescription == null) {
+ webserviceDescription = new
KeyedCollection<String,WebserviceDescription>();
+ }
+ return this.webserviceDescription.toMap();
}
}
Modified:
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/Servlet.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/Servlet.java?rev=592257&r1=592256&r2=592257&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/Servlet.java
(original)
+++
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/Servlet.java
Mon Nov 5 19:57:34 2007
@@ -16,12 +16,14 @@
*/
package org.apache.openejb.jee.sun;
+import org.apache.openejb.jee.KeyedCollection;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.Collection;
+import java.util.Map;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
@@ -35,7 +37,7 @@
@XmlElement(name = "principal-name")
protected PrincipalName principalName;
@XmlElement(name = "webservice-endpoint")
- protected List<WebserviceEndpoint> webserviceEndpoint;
+ protected KeyedCollection<String,WebserviceEndpoint> webserviceEndpoint;
public ServletName getServletName() {
return servletName;
@@ -53,10 +55,17 @@
this.principalName = value;
}
- public List<WebserviceEndpoint> getWebserviceEndpoint() {
+ public Collection<WebserviceEndpoint> getWebserviceEndpoint() {
if (webserviceEndpoint == null) {
- webserviceEndpoint = new ArrayList<WebserviceEndpoint>();
+ webserviceEndpoint = new
KeyedCollection<String,WebserviceEndpoint>();
}
return this.webserviceEndpoint;
+ }
+
+ public Map<String,WebserviceEndpoint> getWebserviceEndpointMap() {
+ if (webserviceEndpoint == null) {
+ webserviceEndpoint = new
KeyedCollection<String,WebserviceEndpoint>();
+ }
+ return this.webserviceEndpoint.toMap();
}
}
Modified:
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/WebserviceDescription.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/WebserviceDescription.java?rev=592257&r1=592256&r2=592257&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/WebserviceDescription.java
(original)
+++
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/WebserviceDescription.java
Mon Nov 5 19:57:34 2007
@@ -16,6 +16,8 @@
*/
package org.apache.openejb.jee.sun;
+import org.apache.openejb.jee.Keyable;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -26,11 +28,15 @@
"webserviceDescriptionName",
"wsdlPublishLocation"
})
-public class WebserviceDescription {
+public class WebserviceDescription implements Keyable<String> {
@XmlElement(name = "webservice-description-name", required = true)
protected String webserviceDescriptionName;
@XmlElement(name = "wsdl-publish-location")
protected String wsdlPublishLocation;
+
+ public String getKey() {
+ return webserviceDescriptionName;
+ }
public String getWebserviceDescriptionName() {
return webserviceDescriptionName;
Modified:
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/WebserviceEndpoint.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/WebserviceEndpoint.java?rev=592257&r1=592256&r2=592257&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/WebserviceEndpoint.java
(original)
+++
openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/sun/WebserviceEndpoint.java
Mon Nov 5 19:57:34 2007
@@ -16,6 +16,8 @@
*/
package org.apache.openejb.jee.sun;
+import org.apache.openejb.jee.Keyable;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
@@ -35,7 +37,7 @@
"servletImplClass",
"debuggingEnabled"
})
-public class WebserviceEndpoint {
+public class WebserviceEndpoint implements Keyable<String> {
@XmlElement(name = "port-component-name", required = true)
protected String portComponentName;
@XmlElement(name = "endpoint-address-uri")
@@ -55,6 +57,10 @@
protected String servletImplClass;
@XmlElement(name = "debugging-enabled")
protected String debuggingEnabled;
+
+ public String getKey() {
+ return portComponentName;
+ }
public String getPortComponentName() {
return portComponentName;
Modified:
openejb/trunk/openejb3/container/openejb-jee/src/test/resources/application-client-example.xml
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/application-client-example.xml?rev=592257&r1=592256&r2=592257&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-jee/src/test/resources/application-client-example.xml
(original)
+++
openejb/trunk/openejb3/container/openejb-jee/src/test/resources/application-client-example.xml
Mon Nov 5 19:57:34 2007
@@ -42,7 +42,7 @@
<service-ref-type>token</service-ref-type>
<wsdl-file>http://www.altova.com</wsdl-file>
<jaxrpc-mapping-file>token</jaxrpc-mapping-file>
- <service-qname>q:name</service-qname>
+ <service-qname
xmlns:q="http://examples.org/wsdl">q:name</service-qname>
<port-component-ref>
<service-endpoint-interface>token</service-endpoint-interface>
<enable-mtom>true</enable-mtom>
Modified:
openejb/trunk/openejb3/container/openejb-jee/src/test/resources/ejb-jar-example1.xml
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/ejb-jar-example1.xml?rev=592257&r1=592256&r2=592257&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-jee/src/test/resources/ejb-jar-example1.xml
(original)
+++
openejb/trunk/openejb3/container/openejb-jee/src/test/resources/ejb-jar-example1.xml
Mon Nov 5 19:57:34 2007
@@ -154,7 +154,7 @@
<service-ref-type>token1</service-ref-type>
<wsdl-file>http://www.altova.com</wsdl-file>
<jaxrpc-mapping-file>token</jaxrpc-mapping-file>
- <service-qname>q:name</service-qname>
+ <service-qname
xmlns:q="http://examples.org/wsdl">q:name</service-qname>
<port-component-ref>
<service-endpoint-interface>token</service-endpoint-interface>
<enable-mtom>true</enable-mtom>
@@ -196,7 +196,7 @@
<service-ref-type>token2</service-ref-type>
<wsdl-file>http://www.altova.com</wsdl-file>
<jaxrpc-mapping-file>token</jaxrpc-mapping-file>
- <service-qname>q:name</service-qname>
+ <service-qname
xmlns:q="http://examples.org/wsdl">q:name</service-qname>
<port-component-ref>
<service-endpoint-interface>token</service-endpoint-interface>
<port-component-link>token</port-component-link>
@@ -369,7 +369,7 @@
<service-ref-type>token</service-ref-type>
<wsdl-file>http://www.altova.com</wsdl-file>
<jaxrpc-mapping-file>token</jaxrpc-mapping-file>
- <service-qname>q:name</service-qname>
+ <service-qname
xmlns:q="http://examples.org/wsdl">q:name</service-qname>
<port-component-ref>
<service-endpoint-interface>token</service-endpoint-interface>
<enable-mtom>true</enable-mtom>