Author: thomas.diesler(a)jboss.com
Date: 2007-01-16 07:47:11 -0500 (Tue, 16 Jan 2007)
New Revision: 1981
Modified:
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/spi/ServiceDelegateImpl.java
Log:
JBCTS-443: Fix jaxws/api/javax_xml_ws/Service
Modified:
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/spi/ServiceDelegateImpl.java
===================================================================
---
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/spi/ServiceDelegateImpl.java 2007-01-16
12:18:26 UTC (rev 1980)
+++
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/spi/ServiceDelegateImpl.java 2007-01-16
12:47:11 UTC (rev 1981)
@@ -153,10 +153,10 @@
// TODO: default name mapping when annotations not used
QName portTypeName = new QName(ns, name);
- for(EndpointMetaData epmd : serviceMetaData.getEndpoints())
+ for (EndpointMetaData epmd : serviceMetaData.getEndpoints())
{
QName interfaceQName = epmd.getPortTypeName(); // skip namespaces here
- if( interfaceQName.getLocalPart().equals( portTypeName.getLocalPart() ) )
+ if (interfaceQName.getLocalPart().equals(portTypeName.getLocalPart()))
{
epmd.setServiceEndpointInterfaceName(seiClass.getName());
epMetaData = epmd;
@@ -185,12 +185,13 @@
return (T)createProxy(seiClass, epMetaData);
}
- private void assertSEIConstraints(Class seiClass) {
+ private void assertSEIConstraints(Class seiClass)
+ {
if (seiClass == null)
throw new IllegalArgumentException("Service endpoint interface cannot be
null");
- if(!seiClass.isAnnotationPresent(WebService.class))
+ if (!seiClass.isAnnotationPresent(WebService.class))
throw new WebServiceException("SEI is missing @WebService annotation:
" + seiClass);
}
@@ -202,10 +203,14 @@
*/
public void addPort(QName portName, String bindingId, String epAddress)
{
- EndpointMetaData epMetaData = new ClientEndpointMetaData(serviceMetaData, portName,
null, Type.JAXWS);
+ EndpointMetaData epMetaData = serviceMetaData.getEndpoint(portName);
+ if (epMetaData == null)
+ {
+ epMetaData = new ClientEndpointMetaData(serviceMetaData, portName, null,
Type.JAXWS);
+ serviceMetaData.addEndpoint(epMetaData);
+ }
epMetaData.setBindingId(bindingId);
epMetaData.setEndpointAddress(epAddress);
- serviceMetaData.addEndpoint(epMetaData);
}
@Override
@@ -231,7 +236,7 @@
EndpointMetaData epMetaData = serviceMetaData.getEndpoint(portName);
if (epMetaData == null)
throw new WebServiceException("Cannot find port: " + portName);
-
+
return epMetaData;
}
Show replies by date