[jboss-svn-commits] JBossWS SVN: r1184 - in branches/tdiesler/jbossws-1.0/src: main/java/org/jboss/ws/deployment main/java/org/jboss/ws/jaxrpc main/java/org/jboss/ws/metadata test test/java/org/jboss/test/ws/jaxws/jbws944 test/resources/jaxws/jbws944/META-INF test/resources/jaxws/jbws944/META-INF/wsdl test/resources/jaxws/jsr181/soapbinding

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Oct 10 06:16:33 EDT 2006


Author: thomas.diesler at jboss.com
Date: 2006-10-10 06:16:13 -0400 (Tue, 10 Oct 2006)
New Revision: 1184

Modified:
   branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/deployment/AnnotationsMetaDataBuilder.java
   branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/deployment/JSR109ClientMetaDataBuilder.java
   branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/CallProxy.java
   branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/ParameterWrapping.java
   branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/ServiceObjectFactory.java
   branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/metadata/EndpointMetaData.java
   branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/metadata/FaultMetaData.java
   branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/metadata/OperationMetaData.java
   branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/metadata/ParameterMetaData.java
   branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/metadata/UnifiedMetaData.java
   branches/tdiesler/jbossws-1.0/src/test/build.xml
   branches/tdiesler/jbossws-1.0/src/test/java/org/jboss/test/ws/jaxws/jbws944/EJB3Bean01.java
   branches/tdiesler/jbossws-1.0/src/test/java/org/jboss/test/ws/jaxws/jbws944/JBWS944TestCase.java
   branches/tdiesler/jbossws-1.0/src/test/resources/jaxws/jbws944/META-INF/jaxrpc-mapping.xml
   branches/tdiesler/jbossws-1.0/src/test/resources/jaxws/jbws944/META-INF/wsdl/TestService.wsdl
   branches/tdiesler/jbossws-1.0/src/test/resources/jaxws/jsr181/soapbinding/bare-mapping.xml
Log:
[JBWS-1113] Improve performance of Service.getPort()

Modified: branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/deployment/AnnotationsMetaDataBuilder.java
===================================================================
--- branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/deployment/AnnotationsMetaDataBuilder.java	2006-10-10 04:30:40 UTC (rev 1183)
+++ branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/deployment/AnnotationsMetaDataBuilder.java	2006-10-10 10:16:13 UTC (rev 1184)
@@ -120,17 +120,19 @@
 
    protected void processPortComponent(UnifiedDeploymentInfo udi, Class wsClass, String linkName, ServerEndpointMetaData epMetaData)
    {
-      String contextRoot = null;
-      String urlPattern = null;
+      // Setting the defaults
+      String contextRoot = "/" + udi.shortName.substring(0, udi.shortName.indexOf('.'));
+      String urlPattern = "/" + linkName;
 
-      // init contextRoot from jboss-web.xml
+      // Init contextRoot from jboss-web.xml
       if (udi.metaData instanceof UnifiedWebMetaData)
       {
          UnifiedWebMetaData webMetaData = (UnifiedWebMetaData)udi.metaData;
-         urlPattern = webMetaData.getServletMappings().get(linkName);
          contextRoot = webMetaData.getContextRoot();
+         urlPattern = webMetaData.getServletMappings().get(linkName);
       }
 
+      // Process @PortComponent
       PortComponent anPortComponent = (PortComponent)wsClass.getAnnotation(PortComponent.class);
       if (anPortComponent != null)
       {
@@ -138,37 +140,22 @@
          String configName = anPortComponent.configName();
          if (configName.length() > 0)
             epMetaData.setConfigName(configName);
-         
+
          // setup config file
          String configFile = anPortComponent.configFile();
          if (configFile.length() > 0)
             epMetaData.setConfigFile(configFile);
-         
-         // setup endpoint url
+
          if (anPortComponent.contextRoot().length() > 0)
          {
             contextRoot = anPortComponent.contextRoot();
          }
-         else
-         {
-            String shortName = udi.shortName;
-            contextRoot = "/" + shortName.substring(0, shortName.indexOf('.'));
-         }
-         epMetaData.setContextRoot(contextRoot);
 
          if (anPortComponent.urlPattern().length() > 0)
          {
             urlPattern = anPortComponent.urlPattern();
          }
-         else
-         {
-            urlPattern = "/" + linkName;
-         }
-         epMetaData.setURLPattern(urlPattern);
 
-         String servicePath = contextRoot + urlPattern;
-         epMetaData.setEndpointAddress(getServiceEndpointAddress(null, servicePath));
-
          // setup authetication method
          String authMethod = anPortComponent.authMethod();
          if (authMethod.length() > 0)
@@ -179,20 +166,13 @@
          if (transportGuarantee.length() > 0)
             epMetaData.setTransportGuarantee(transportGuarantee);
       }
-      else
-      {
-         if (contextRoot == null)
-         {
-            String shortName = udi.shortName;
-            contextRoot = "/" + shortName.substring(0, shortName.indexOf('.'));
-         }
-         epMetaData.setContextRoot(contextRoot);
-         epMetaData.setURLPattern(urlPattern);
 
-         String servicePath = contextRoot + urlPattern;
-         epMetaData.setEndpointAddress(getServiceEndpointAddress(null, servicePath));
-      }
+      epMetaData.setContextRoot(contextRoot);
+      epMetaData.setURLPattern(urlPattern);
 
+      String servicePath = contextRoot + urlPattern;
+      epMetaData.setEndpointAddress(getServiceEndpointAddress(null, servicePath));
+
       // replace the SOAP address
       replaceAddressLocation(epMetaData);
    }

Modified: branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/deployment/JSR109ClientMetaDataBuilder.java
===================================================================
--- branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/deployment/JSR109ClientMetaDataBuilder.java	2006-10-10 04:30:40 UTC (rev 1183)
+++ branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/deployment/JSR109ClientMetaDataBuilder.java	2006-10-10 10:16:13 UTC (rev 1184)
@@ -40,6 +40,7 @@
 import org.jboss.ws.metadata.HandlerMetaData.HandlerType;
 import org.jboss.ws.metadata.config.jaxrpc.WSClientConfigJAXRPC;
 import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData;
+import org.jboss.ws.metadata.j2ee.UnifiedPortComponentRefMetaData;
 import org.jboss.ws.metadata.j2ee.UnifiedServiceRefMetaData;
 import org.jboss.ws.metadata.jaxrpcmapping.JavaWsdlMapping;
 import org.jboss.ws.metadata.jaxrpcmapping.JavaWsdlMappingFactory;
@@ -104,7 +105,7 @@
          UnifiedMetaData wsMetaData = new UnifiedMetaData();
          wsMetaData.setClassLoader(classLoader);
          wsMetaData.setResourceLoader(resourceLoader);
-         
+
          ServiceMetaData serviceMetaData = new ServiceMetaData(wsMetaData, serviceQName);
          wsMetaData.addService(serviceMetaData);
 
@@ -176,18 +177,6 @@
          epMetaData.setEndpointAddress(wsdlEndpoint.getAddress());
          serviceMetaData.addEndpoint(epMetaData);
 
-         // config-name, config-file
-         if (serviceRefMetaData != null)
-         {
-            String configName = serviceRefMetaData.getConfigName();
-            if (configName != null)
-               epMetaData.setConfigName(configName);
-
-            String configFile = serviceRefMetaData.getConfigFile();
-            if (configFile != null)
-               epMetaData.setConfigFile(configFile);
-         }
-
          // Init the endpoint binding
          initEndpointBinding(wsdlEndpoint, epMetaData);
 
@@ -209,6 +198,30 @@
             }
          }
 
+         // config-name, config-file
+         if (serviceRefMetaData != null)
+         {
+            String configName = serviceRefMetaData.getConfigName();
+            if (configName != null)
+               epMetaData.setConfigName(configName);
+
+            String configFile = serviceRefMetaData.getConfigFile();
+            if (configFile != null)
+               epMetaData.setConfigFile(configFile);
+
+            // Setup endpoint meta data
+            for (UnifiedPortComponentRefMetaData pcRefMetaData : serviceRefMetaData.getPortComponentRefs())
+            {
+               String seiName = pcRefMetaData.getServiceEndpointInterface();
+               String epSEIName = epMetaData.getServiceEndpointInterfaceName();
+               if (seiName.equals(epSEIName) || epSEIName == null)
+               {
+                  epMetaData.setServiceEndpointInterfaceName(seiName);
+                  epMetaData.setProperties(pcRefMetaData.getCallProperties());
+               }
+            }
+         }
+
          processEndpointMetaDataExtensions(epMetaData, wsdlDefinitions);
          setupOperationsFromWSDL(epMetaData, wsdlEndpoint, seiMapping);
          setupHandlers(serviceRefMetaData, portName, epMetaData);

Modified: branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/CallProxy.java
===================================================================
--- branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/CallProxy.java	2006-10-10 04:30:40 UTC (rev 1183)
+++ branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/CallProxy.java	2006-10-10 10:16:13 UTC (rev 1184)
@@ -33,7 +33,6 @@
 import java.util.Map;
 import java.util.Set;
 
-import javax.xml.rpc.Call;
 import javax.xml.rpc.JAXRPCException;
 import javax.xml.rpc.Stub;
 import javax.xml.rpc.soap.SOAPFaultException;

Modified: branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/ParameterWrapping.java
===================================================================
--- branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/ParameterWrapping.java	2006-10-10 04:30:40 UTC (rev 1183)
+++ branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/ParameterWrapping.java	2006-10-10 10:16:13 UTC (rev 1184)
@@ -31,6 +31,7 @@
 import javassist.ClassPool;
 import javassist.CtClass;
 import javassist.CtField;
+import javassist.CtNewConstructor;
 import javassist.CtNewMethod;
 import javassist.LoaderClassPath;
 import javassist.Modifier;
@@ -80,7 +81,7 @@
          log.debug("Detected document/literal/wrapped with no parameter part");
          return true;
       }
-      
+
       ParameterMetaData paramMetaData = opMetaData.getParameters().get(0);
       List<String> varNames = paramMetaData.getWrappedVariables();
       Class reqStructType = paramMetaData.getJavaType();
@@ -139,10 +140,10 @@
          log.debug("Detected document/literal/wrapped with no return part");
          return true;
       }
-      
+
       ParameterMetaData paramMetaData = opMetaData.getReturnParameter();
       Class resStructType = paramMetaData.getJavaType();
-      
+
       log.debug("matchResponseParameters: " + resStructType.getName());
       try
       {
@@ -184,7 +185,7 @@
          log.debug("Detected document/literal/wrapped with no parameter part");
          return null;
       }
-      
+
       ParameterMetaData paramMetaData = opMetaData.getParameters().get(0);
       List<String> varNames = paramMetaData.getWrappedVariables();
       Class reqStructType = paramMetaData.getJavaType();
@@ -298,7 +299,7 @@
          log.debug("Detected document/literal/wrapped with no return part");
          return null;
       }
-      
+
       ParameterMetaData paramMetaData = opMetaData.getReturnParameter();
       List<String> varNames = paramMetaData.getWrappedVariables();
       Class resStructType = paramMetaData.getJavaType();
@@ -463,17 +464,19 @@
             CtField field = new CtField(pool.get(typeName), name, clazz);
             field.setModifiers(Modifier.PRIVATE);
             clazz.addField(field);
-            
+
+            String capName = capitalize(name);
+            clazz.addMethod(CtNewMethod.getter("get" + capName, field));
+            clazz.addMethod(CtNewMethod.setter("set" + capName, field));
+
             if (pmd.getOperationMetaData().getReturnParameter() == pmd)
             {
-               clazz.addMethod(CtNewMethod.getter("getResult", field));
-               clazz.addMethod(CtNewMethod.setter("setResult", field));
+               if (capName.equals("Result") == false)
+               {
+                  clazz.addMethod(CtNewMethod.getter("getResult", field));
+                  clazz.addMethod(CtNewMethod.setter("setResult", field));
+               }
             }
-            else
-            {
-               clazz.addMethod(CtNewMethod.getter("get" + capitalize(name), field));
-               clazz.addMethod(CtNewMethod.setter("set" + capitalize(name), field));
-            }
          }
 
          wrapperType = (Class)pool.toClass(clazz, loader);

Modified: branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/ServiceObjectFactory.java
===================================================================
--- branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/ServiceObjectFactory.java	2006-10-10 04:30:40 UTC (rev 1183)
+++ branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/jaxrpc/ServiceObjectFactory.java	2006-10-10 10:16:13 UTC (rev 1184)
@@ -180,22 +180,6 @@
             QName serviceName = serviceRefMetaData.getServiceQName();
             JavaWsdlMapping javaWsdlMapping = (JavaWsdlMapping)serviceRefMetaData.getJavaWsdlMapping();
             jaxrpcService = new ServiceImpl(serviceName, wsdlURL, javaWsdlMapping, securityConfig, serviceRefMetaData);
-
-            // Setup endpoint meta data
-            ServiceMetaData serviceMetaData = jaxrpcService.getServiceMetaData();
-            for (UnifiedPortComponentRefMetaData pcRefMetaData : serviceRefMetaData.getPortComponentRefs())
-            {
-               String seiName = pcRefMetaData.getServiceEndpointInterface();
-               for (EndpointMetaData epMetaData : serviceMetaData.getEndpoints())
-               {
-                  String epSEIName = epMetaData.getServiceEndpointInterfaceName();
-                  if (seiName.equals(epSEIName) || epSEIName == null)
-                  {
-                     epMetaData.setServiceEndpointInterfaceName(seiName);
-                     epMetaData.setProperties(pcRefMetaData.getCallProperties());
-                  }
-               }
-            }
          }
          else
          {

Modified: branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/metadata/EndpointMetaData.java
===================================================================
--- branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/metadata/EndpointMetaData.java	2006-10-10 04:30:40 UTC (rev 1183)
+++ branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/metadata/EndpointMetaData.java	2006-10-10 10:16:13 UTC (rev 1184)
@@ -67,7 +67,7 @@
    }
 
    // The parent meta data.
-   private ServiceMetaData service;
+   private ServiceMetaData serviceMetaData;
 
    // The REQUIRED endpoint config
    protected WSCommonConfig endpointConfig;
@@ -111,7 +111,7 @@
 
    public EndpointMetaData(ServiceMetaData service, QName portName, Type type)
    {
-      this.service = service;
+      this.serviceMetaData = service;
       this.portName = portName;
       this.type = type;
 
@@ -121,7 +121,7 @@
 
    public ServiceMetaData getServiceMetaData()
    {
-      return service;
+      return serviceMetaData;
    }
 
    public QName getQName()
@@ -198,24 +198,31 @@
       return classLoader;
    }
 
-   /** Load the service endpoint interface
+   /** 
+    * Load the service endpoint interface.
+    * It should only be cached during eager initialization.
     */
    public Class getServiceEndpointInterface()
    {
-      Class localClass = seiClass;
-      if (localClass == null && seiName != null)
+      Class tmpClass = seiClass;
+      if (tmpClass == null && seiName != null)
       {
          try
          {
             ClassLoader classLoader = getClassLoader();
-            localClass = classLoader.loadClass(seiName);
+            tmpClass = classLoader.loadClass(seiName);
+            if (serviceMetaData.getUnifiedMetaData().isEagerInitialized())
+            {
+               log.warn("Loading SEI after eager initialization");
+               seiClass = tmpClass;
+            }
          }
          catch (ClassNotFoundException ex)
          {
             throw new WSException("Cannot load service endpoint interface: " + seiName, ex);
          }
       }
-      return localClass;
+      return tmpClass;
    }
 
    public Use getEncodingStyle()
@@ -423,21 +430,17 @@
     */
    public void eagerInitialize()
    {
-      seiClass = getServiceEndpointInterface();
-      if (seiClass == null)
-         throw new WSException("Cannot load service endpointInterface: " + seiName);
-      
-      TypeMappingImpl typeMapping = service.getTypeMapping();
-      for (TypeMappingMetaData tmMetaData : service.getTypesMetaData().getTypeMappings())
+      TypeMappingImpl typeMapping = serviceMetaData.getTypeMapping();
+      for (TypeMappingMetaData tmMetaData : serviceMetaData.getTypesMetaData().getTypeMappings())
       {
          String javaTypeName = tmMetaData.getJavaTypeName();
          QName xmlType = tmMetaData.getXmlType();
          if (xmlType != null)
          {                       
-            List<Class> classes = typeMapping.getJavaTypes(xmlType);
+            List<Class> registeredTypes = typeMapping.getJavaTypes(xmlType);
             
             boolean registered = false;
-            for (Class current : classes) {
+            for (Class current : registeredTypes) {
                if (current.getName().equals(javaTypeName))
                {
                   registered = true;
@@ -472,17 +475,26 @@
          }
       }
 
-      List<Method> unsynchronizedMethods = new ArrayList<Method>();
-      unsynchronizedMethods.addAll(Arrays.asList(seiClass.getMethods()));
-      
-      for (OperationMetaData opMetaData : operations)
+      eagerInitializeOperations();
+   }
+
+   private void eagerInitializeOperations()
+   {
+      seiClass = getServiceEndpointInterface();
+      if (seiClass != null)
       {
-         opMetaData.eagerInitialize(unsynchronizedMethods);
-         Method method = opMetaData.getJavaMethod();
-         if (method != null)
+         List<Method> unsynchronizedMethods = new ArrayList<Method>();
+         unsynchronizedMethods.addAll(Arrays.asList(seiClass.getMethods()));
+         
+         for (OperationMetaData opMetaData : operations)
          {
-            opMetaDataCache.put(method, opMetaData);
-            unsynchronizedMethods.remove(method);
+            opMetaData.eagerInitialize(unsynchronizedMethods);
+            Method method = opMetaData.getJavaMethod();
+            if (method != null)
+            {
+               opMetaDataCache.put(method, opMetaData);
+               unsynchronizedMethods.remove(method);
+            }
          }
       }
    }

Modified: branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/metadata/FaultMetaData.java
===================================================================
--- branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/metadata/FaultMetaData.java	2006-10-10 04:30:40 UTC (rev 1183)
+++ branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/metadata/FaultMetaData.java	2006-10-10 10:16:13 UTC (rev 1184)
@@ -25,6 +25,7 @@
 
 import javax.xml.namespace.QName;
 
+import org.jboss.logging.Logger;
 import org.jboss.ws.WSException;
 import org.jboss.ws.utils.JavaUtils;
 
@@ -37,6 +38,9 @@
  */
 public class FaultMetaData
 {
+   // provide logging
+   private final Logger log = Logger.getLogger(FaultMetaData.class);
+   
    // The parent operation
    private OperationMetaData opMetaData;
 
@@ -80,22 +84,31 @@
       return javaTypeName;
    }
 
+   /** Load the java type.
+    *  It should only be cached during eager initialization.
+    */
    public Class getJavaType()
    {
-      Class localJavaType = javaType;
-      if (localJavaType == null && javaTypeName != null)
+      Class tmpJavaType = javaType;
+      if (tmpJavaType == null && javaTypeName != null)
       {
          try
          {
             ClassLoader loader = opMetaData.getEndpointMetaData().getClassLoader();
-            localJavaType = JavaUtils.loadJavaType(javaTypeName, loader);
+            tmpJavaType = JavaUtils.loadJavaType(javaTypeName, loader);
+            
+            if (opMetaData.getEndpointMetaData().getServiceMetaData().getUnifiedMetaData().isEagerInitialized())
+            {
+               log.warn("Loading java type after eager initialization");
+               javaType = tmpJavaType;
+            }
          }
          catch (ClassNotFoundException ex)
          {
             throw new WSException("Cannot load java type: " + javaTypeName, ex);
          }
       }
-      return localJavaType;
+      return tmpJavaType;
    }
 
    public void eagerInitialize()

Modified: branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/metadata/OperationMetaData.java
===================================================================
--- branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/metadata/OperationMetaData.java	2006-10-10 04:30:40 UTC (rev 1183)
+++ branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/metadata/OperationMetaData.java	2006-10-10 10:16:13 UTC (rev 1184)
@@ -159,7 +159,30 @@
 
    public Method getJavaMethod()
    {
-      return javaMethod;
+      Method tmpMethod = javaMethod;
+      Class seiClass = epMetaData.getServiceEndpointInterface();
+      if (tmpMethod == null && seiClass != null)
+      {
+         for (Method method : seiClass.getMethods())
+         {
+            if (isJavaMethod(method))
+            {
+               tmpMethod = method;
+               
+               if (epMetaData.getServiceMetaData().getUnifiedMetaData().isEagerInitialized())
+               {
+                  log.warn("Loading java method after eager initialization");
+                  javaMethod = method;
+               }
+               
+               break;
+            }
+         }
+         
+         if (tmpMethod == null)
+            throw new WSException("Cannot find java method: " + javaName);
+      }
+      return tmpMethod;
    }
 
    public boolean isJavaMethod(Method method)
@@ -504,7 +527,8 @@
 
       for (FaultMetaData fault : faults)
          fault.eagerInitialize();
-
+      
+      // Method initialization
       for (Method method : unsynchronizedMethods)
       {
          if (isJavaMethod(method))
@@ -525,6 +549,7 @@
          errMsg.append(this.toString());
          throw new IllegalStateException(errMsg.toString());
       }
+      
    }
 
    public String toString()

Modified: branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/metadata/ParameterMetaData.java
===================================================================
--- branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/metadata/ParameterMetaData.java	2006-10-10 04:30:40 UTC (rev 1183)
+++ branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/metadata/ParameterMetaData.java	2006-10-10 10:16:13 UTC (rev 1184)
@@ -31,6 +31,7 @@
 import javax.xml.namespace.QName;
 import javax.xml.rpc.ParameterMode;
 
+import org.jboss.logging.Logger;
 import org.jboss.ws.Constants;
 import org.jboss.ws.WSException;
 import org.jboss.ws.jaxrpc.ParameterWrapping;
@@ -45,6 +46,9 @@
  */
 public class ParameterMetaData
 {
+   // provide logging
+   private final Logger log = Logger.getLogger(ParameterMetaData.class);
+   
    // The parent operation
    private OperationMetaData opMetaData;
 
@@ -115,30 +119,37 @@
    }
 
 
-   public void setJavaTypeName(String javaTypeName)
+   public void setJavaTypeName(String typeName)
    {
-      this.javaTypeName = javaTypeName;
-      
-      if (javaType != null)
-         throw new IllegalStateException("Cannot set java type name after eager initialization");
+      javaTypeName = typeName;
+      javaType = null;
    }
 
+   /** Load the java type.
+    *  It should only be cached during eager initialization.
+    */
    public Class getJavaType()
    {
-      Class localJavaType = javaType;
-      if (localJavaType == null && javaTypeName != null)
+      Class tmpJavaType = javaType;
+      if (tmpJavaType == null && javaTypeName != null)
       {
          try
          {
             ClassLoader loader = opMetaData.getEndpointMetaData().getClassLoader();
-            localJavaType = JavaUtils.loadJavaType(javaTypeName, loader);
+            tmpJavaType = JavaUtils.loadJavaType(javaTypeName, loader);
+            
+            if (opMetaData.getEndpointMetaData().getServiceMetaData().getUnifiedMetaData().isEagerInitialized())
+            {
+               log.warn("Loading java type after eager initialization");
+               javaType = tmpJavaType;
+            }
          }
          catch (ClassNotFoundException ex)
          {
             throw new WSException("Cannot load java type: " + javaTypeName, ex);
          }
       }
-      return localJavaType;
+      return tmpJavaType;
    }
 
 

Modified: branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/metadata/UnifiedMetaData.java
===================================================================
--- branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/metadata/UnifiedMetaData.java	2006-10-10 04:30:40 UTC (rev 1183)
+++ branches/tdiesler/jbossws-1.0/src/main/java/org/jboss/ws/metadata/UnifiedMetaData.java	2006-10-10 10:16:13 UTC (rev 1184)
@@ -145,6 +145,11 @@
       return jaxrpcMap.get(jaxrpcFile);
    }
 
+   public boolean isEagerInitialized()
+   {
+      return eagerInitialized;
+   }
+
    /**
     * Eagerly initialize all cache values that are normally lazy-loaded. This
     * allows for concurrent read-only access to a <code>UnifiedMetaData</code>

Modified: branches/tdiesler/jbossws-1.0/src/test/build.xml
===================================================================
--- branches/tdiesler/jbossws-1.0/src/test/build.xml	2006-10-10 04:30:40 UTC (rev 1183)
+++ branches/tdiesler/jbossws-1.0/src/test/build.xml	2006-10-10 10:16:13 UTC (rev 1184)
@@ -18,7 +18,7 @@
   
   <property file="${basedir}/ant.properties"/>
   <property file="${basedir}/version.properties"/>
-
+  
   <property name="build.dir" value="${basedir}/output"/>
   <property name="build.lib.dir" value="${build.dir}/lib"/>
   <property name="build.test.dir" value="${build.dir}/tests"/>
@@ -42,6 +42,16 @@
     <isset property="HAVE_JDK_1.5"/>
   </condition>
   
+  <!-- Use -Ddebug=true for remote debugging -->
+  <condition property="remote.debug.line" value="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006">
+    <isset property="debug"/>
+  </condition>
+  <condition property="remote.debug.line" value="">
+    <not>
+      <isset property="debug"/>
+    </not>
+  </condition>
+  
   <property name="jboss.client" value="${jboss.home}/client"/>
   <property name="jboss.lib" value="${jboss.home}/lib"/>
   <property name="jboss.server" value="${jboss.home}/server/${jboss.server.instance}"/>
@@ -98,7 +108,7 @@
   </target>
   
   <!--
-    Init the various classpaths
+  Init the various classpaths
   -->
   <target name="init" depends="prepare,thirdparty">
     
@@ -113,12 +123,12 @@
     
     <property name="jbossws.client.jar" value="${jbossws.build}-client.jar"/>
     
-    <!-- Check that the latest build has been deployed --> 
+    <!-- Check that the latest build has been deployed -->
     <condition property="jbossws.deployed">
       <filesmatch file1="${jboss.client}/${jbossws.client.jar}" file2="${build.lib.dir}/${jbossws.client.jar}"/>
- 	 	</condition>
- 	 	<fail message="jbossws not deployed, run 'ant deploy-jbossws'" unless="jbossws.deployed"/>
- 	 		    
+    </condition>
+    <fail message="jbossws not deployed, run 'ant deploy-jbossws'" unless="jbossws.deployed"/>
+    
     <!-- Define excluded tests -->
     <property name="jbossws.target.server.${jbossws.target.server}" value="true"/>
     <condition property="tests.excludesfile" value="${test.resources.dir}/tests-no-excludes.txt">
@@ -141,7 +151,7 @@
       <pathelement location="${jboss.client}/log4j.jar"/>
       <pathelement location="${jboss.client}/mail.jar"/>
     </path>
-
+    
     <!-- The combined compile classpath -->
     <path id="javac.classpath">
       <path refid="library.classpath"/>
@@ -153,10 +163,10 @@
       <pathelement location="${build.lib.dir}/${jbossws.build}-jboss-integration.jar"/>
       <pathelement location="${build.lib.dir}/${jbossws.build}-tomcat-integration.jar"/>
     </path>
-
+    
     <!--
-      The test client classpath which does not include the library classpath
-      The idea is that we test agains the jar versions in the target container
+    The test client classpath which does not include the library classpath
+    The idea is that we test agains the jar versions in the target container
     -->
     <path id="test.client.classpath">
       <path refid="jbossws.client.classpath"/>
@@ -171,15 +181,15 @@
       <pathelement location="${thirdparty.dir}/wstx-lgpl-2.9.3.jar"/>
       <pathelement location="${thirdparty.dir}/stax-api-1.0.jar"/>
     </path>
-
+    
   </target>
-
+  
   <!-- ================================================================== -->
   <!-- Compiling                                                          -->
   <!-- ================================================================== -->
-
+  
   <target name="compile" depends="compile14, compile15" description="Compile sources"/>
-
+  
   <target name="compile14" depends="init" unless="HAVE_JDK_1.5">
     <mkdir dir="${build.test.dir}/classes"/>
     <javac destdir="${build.test.dir}/classes" debug="${javac.debug}" verbose="${javac.verbose}" deprecation="${javac.deprecation}" failonerror="${javac.fail.onerror}">
@@ -190,7 +200,7 @@
       <classpath refid="javac.classpath"/>
     </javac>
   </target>
-
+  
   <target name="compile15" depends="init" if="HAVE_JDK_1.5">
     <mkdir dir="${build.test.dir}/classes"/>
     <javac destdir="${build.test.dir}/classes" debug="${javac.debug}" verbose="${javac.verbose}" deprecation="${javac.deprecation}" failonerror="${javac.fail.onerror}">
@@ -199,7 +209,7 @@
       <classpath refid="javac.classpath"/>
     </javac>
   </target>
-
+  
   <target name="compile-generated" depends="init" description="Compile generated sources">
     <mkdir dir="${build.test.dir}/classes"/>
     <javac destdir="${build.test.dir}/classes" debug="${javac.debug}" verbose="${javac.verbose}" deprecation="${javac.deprecation}" failonerror="${javac.fail.onerror}">
@@ -207,7 +217,7 @@
       <classpath refid="javac.classpath"/>
     </javac>
   </target>
-
+  
   <target name="copy-resources" depends="init" description="Copy the deployment resources.">
     <copy todir="${build.test.dir}/classes" file="${test.etc.dir}/jndi.properties"/>
     <copy todir="${build.test.dir}/classes" file="${test.etc.dir}/log4j.xml"/>
@@ -230,20 +240,20 @@
       </fileset>
     </copy>
   </target>
-
+  
   <!-- ================================================================== -->
   <!-- Building                                                           -->
   <!-- ================================================================== -->
-
+  
   <target name="main" depends="compile,copy-resources,generate-sources,compile-generated,copy-generated" description="Build the deployments.">
     <mkdir dir="${build.test.dir}/reports"/>
     <mkdir dir="${build.test.dir}/libs"/>
     <ant antfile="${test.dir}/ant/build-jars-jaxrpc.xml" target="build-jars" inheritall="true"/>
     <ant antfile="${test.dir}/ant/build-jars-jaxws.xml" target="build-jars" inheritall="true"/>
   </target>
-
+  
   <!--
-    Generate samples sources
+  Generate samples sources
   -->
   <target name="generate-sources" depends="compile" description="Generate the deployment resources.">
     <taskdef name="wstools" classname="org.jboss.ws.tools.ant.wstools">
@@ -251,17 +261,25 @@
       <classpath path="${build.test.dir}/classes"/>
     </taskdef>
     <mkdir dir="${build.test.dir}/wstools/java"/>
-    <wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/docstyle/bare/WEB-INF" config="${test.resources.dir}/jaxrpc/samples/docstyle/bare/wstools-config.xml"/>
-    <wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/docstyle/wrapped/WEB-INF" config="${test.resources.dir}/jaxrpc/samples/docstyle/wrapped/wstools-config.xml"/>
-    <wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/dynamichandler/WEB-INF" config="${test.resources.dir}/jaxrpc/samples/dynamichandler/wstools-config.xml"/>
+    <wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/docstyle/bare/WEB-INF"
+      config="${test.resources.dir}/jaxrpc/samples/docstyle/bare/wstools-config.xml"/>
+    <wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/docstyle/wrapped/WEB-INF"
+      config="${test.resources.dir}/jaxrpc/samples/docstyle/wrapped/wstools-config.xml"/>
+    <wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/dynamichandler/WEB-INF"
+      config="${test.resources.dir}/jaxrpc/samples/dynamichandler/wstools-config.xml"/>
     <wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/exception/WEB-INF" config="${test.resources.dir}/jaxrpc/samples/exception/wstools-config.xml"/>
     <wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/handler/WEB-INF" config="${test.resources.dir}/jaxrpc/samples/handler/wstools-config.xml"/>
     <wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/holder/WEB-INF" config="${test.resources.dir}/jaxrpc/samples/holder/wstools-config.xml"/>
-    <wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/jmstransport/META-INF" config="${test.resources.dir}/jaxrpc/samples/jmstransport/wstools-config.xml"/>
-    <wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/jsr109ejb/doclit/META-INF" config="${test.resources.dir}/jaxrpc/samples/jsr109ejb/doclit/wstools-config.xml"/>
-    <wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/jsr109ejb/rpclit/META-INF" config="${test.resources.dir}/jaxrpc/samples/jsr109ejb/rpclit/wstools-config.xml"/>
-    <wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/jsr109pojo/doclit/WEB-INF" config="${test.resources.dir}/jaxrpc/samples/jsr109pojo/doclit/wstools-config.xml"/>
-    <wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/jsr109pojo/rpclit/WEB-INF" config="${test.resources.dir}/jaxrpc/samples/jsr109pojo/rpclit/wstools-config.xml"/>
+    <wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/jmstransport/META-INF"
+      config="${test.resources.dir}/jaxrpc/samples/jmstransport/wstools-config.xml"/>
+    <wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/jsr109ejb/doclit/META-INF"
+      config="${test.resources.dir}/jaxrpc/samples/jsr109ejb/doclit/wstools-config.xml"/>
+    <wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/jsr109ejb/rpclit/META-INF"
+      config="${test.resources.dir}/jaxrpc/samples/jsr109ejb/rpclit/wstools-config.xml"/>
+    <wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/jsr109pojo/doclit/WEB-INF"
+      config="${test.resources.dir}/jaxrpc/samples/jsr109pojo/doclit/wstools-config.xml"/>
+    <wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/jsr109pojo/rpclit/WEB-INF"
+      config="${test.resources.dir}/jaxrpc/samples/jsr109pojo/rpclit/wstools-config.xml"/>
     <wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/message/WEB-INF" config="${test.resources.dir}/jaxrpc/samples/message/wstools-config.xml"/>
     <!-- wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/mtom/WEB-INF" config="${test.resources.dir}/jaxrpc/samples/mtom/wstools-config.xml"/ -->
     <wstools dest="${build.test.dir}/wstools/resources/jaxrpc/samples/oneway/WEB-INF" config="${test.resources.dir}/jaxrpc/samples/oneway/wstools-config.xml"/>
@@ -272,12 +290,12 @@
     <wstools dest="${build.test.dir}/wstools/resources/jaxws/samples/jsr181ejb/META-INF" config="${test.resources.dir}/jaxws/samples/jsr181ejb/wstools-config.xml"/>
     <wstools dest="${build.test.dir}/wstools/resources/jaxws/samples/jsr181pojo/META-INF" config="${test.resources.dir}/jaxws/samples/jsr181pojo/wstools-config.xml"/>
     <wstools dest="${build.test.dir}/wstools/resources/jaxws/samples/wsaddressing/META-INF" config="${test.resources.dir}/jaxws/samples/wsaddressing/wstools-config.xml"/>
-
+    
     <move todir="${build.test.dir}/wstools/java">
       <fileset dir="${build.test.dir}/wstools/resources/jaxrpc/samples/docstyle/wrapped/WEB-INF" includes="org/**"/>
     </move>
   </target>
-
+  
   <target name="copy-generated" depends="init" description="Copy the deployment resources.">
     <!-- Copy generated resources -->
     <copy todir="${build.test.dir}/resources">
@@ -294,17 +312,17 @@
       </filterset>
     </copy>
   </target>
-
+  
   <!-- Custom targets that are not needed very often -->
-
+  
   <target name="build-benchmark" depends="main">
     <ant antfile="src/test/ant/build-benchmark-jars.xml" target="build-benchmark-jars" inheritall="true"/>
   </target>
-
+  
   <!-- ================================================================== -->
   <!-- Testing                                                            -->
   <!-- ================================================================== -->
-
+  
   <!-- Run all unit tests and generate a report -->
   <target name="tests" depends="main" description="Run all unit tests and generate a report">
     <antcall target="tests-main">
@@ -314,7 +332,7 @@
     </antcall>
     <antcall target="tests-report"/>
   </target>
-
+  
   <!-- Run benchmark test cases -->
   <target name="tests-benchmark" description="Run benchmark unit tests">
     <antcall target="tests-main">
@@ -323,7 +341,7 @@
     </antcall>
     <antcall target="tests-report"/>
   </target>
-
+  
   <!-- Run samples test cases -->
   <target name="tests-samples" depends="init" description="Run samples unit tests">
     <antcall target="tests-main">
@@ -332,7 +350,7 @@
     </antcall>
     <antcall target="tests-report"/>
   </target>
-
+  
   <!-- Run tools test cases -->
   <target name="tests-tools" description="Run tools unit tests">
     <antcall target="tests-main">
@@ -341,7 +359,7 @@
     </antcall>
     <antcall target="tests-report"/>
   </target>
-
+  
   <!--
   Run a collection of unit tests.
   ant -Dtest=tools test
@@ -352,7 +370,7 @@
       <param name="excludesfile" value="${test.resources.dir}/tests-no-excludes.txt"/>
     </antcall>
   </target>
-
+  
   <!-- Common test target -->
   <target name="tests-main" depends="init">
     <junit printsummary="yes" showoutput="yes" dir="${build.test.dir}">
@@ -385,14 +403,14 @@
       </batchtest>
     </junit>
   </target>
-
+  
   <!--
   Run a single unit test.
   ant -Dtest=org.jboss.test.ws.jaxrpc.samples.jsr109pojo.RpcJSETestCase one-test
   -->
   <target name="one-test" depends="init" if="test" description="Run a single unit test">
     <junit printsummary="yes" showoutput="yes" dir="${build.test.dir}">
-      <!--jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006"/-->
+      <jvmarg line="${remote.debug.line}"/>
       <jvmarg value="-Djava.security.manager"/>
       <sysproperty key="java.security.policy" value="${test.etc.dir}/tst.policy"/>
       <sysproperty key="jboss.home" value="${jboss.home}"/>

Modified: branches/tdiesler/jbossws-1.0/src/test/java/org/jboss/test/ws/jaxws/jbws944/EJB3Bean01.java
===================================================================
--- branches/tdiesler/jbossws-1.0/src/test/java/org/jboss/test/ws/jaxws/jbws944/EJB3Bean01.java	2006-10-10 04:30:40 UTC (rev 1183)
+++ branches/tdiesler/jbossws-1.0/src/test/java/org/jboss/test/ws/jaxws/jbws944/EJB3Bean01.java	2006-10-10 10:16:13 UTC (rev 1184)
@@ -29,17 +29,13 @@
 
 import org.jboss.annotation.ejb.RemoteBinding;
 
-/**
- * Test the JSR-181 annotation: javax.jws.WebService
- *
- * @author Thomas.Diesler at jboss.org
- * @since 29-Apr-2005
- */
- at WebService(name = "EndpointInterface", targetNamespace = "http://org.jboss.ws/samples/jsr181ejb", serviceName = "TestService")
+ at WebService(name = "EndpointInterface", targetNamespace = "http://org.jboss.ws/jbws944", serviceName = "TestService")
 @SOAPBinding(style = SOAPBinding.Style.RPC)
+
 @Remote(EJB3RemoteInterface.class)
 @RemoteBinding(jndiBinding = "/ejb3/EJB3EndpointInterface")
 @Stateless(name = "FooBean01")
+
 public class EJB3Bean01 implements EJB3RemoteInterface
 {
    @WebMethod

Modified: branches/tdiesler/jbossws-1.0/src/test/java/org/jboss/test/ws/jaxws/jbws944/JBWS944TestCase.java
===================================================================
--- branches/tdiesler/jbossws-1.0/src/test/java/org/jboss/test/ws/jaxws/jbws944/JBWS944TestCase.java	2006-10-10 04:30:40 UTC (rev 1183)
+++ branches/tdiesler/jbossws-1.0/src/test/java/org/jboss/test/ws/jaxws/jbws944/JBWS944TestCase.java	2006-10-10 10:16:13 UTC (rev 1184)
@@ -35,7 +35,9 @@
 import org.jboss.ws.metadata.wsdl.WSDLDefinitionsFactory;
 
 /**
- * Tests JBWS-944
+ * EJB3 jmx name is incorrectly derrived
+ * 
+ * http://jira.jboss.org/jira/browse/JBWS-944
  *
  * @author Thomas.Diesler at jboss.org
  * @author Jason.Greene at jboss.com

Modified: branches/tdiesler/jbossws-1.0/src/test/resources/jaxws/jbws944/META-INF/jaxrpc-mapping.xml
===================================================================
--- branches/tdiesler/jbossws-1.0/src/test/resources/jaxws/jbws944/META-INF/jaxrpc-mapping.xml	2006-10-10 04:30:40 UTC (rev 1183)
+++ branches/tdiesler/jbossws-1.0/src/test/resources/jaxws/jbws944/META-INF/jaxrpc-mapping.xml	2006-10-10 10:16:13 UTC (rev 1184)
@@ -1,10 +1,10 @@
 <?xml version='1.0' encoding='UTF-8'?><java-wsdl-mapping version='1.1' xmlns='http://java.sun.com/xml/ns/j2ee' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd'>
  <package-mapping>
-  <package-type>org.jboss.ws.jbws944</package-type>
+  <package-type>org.jboss.test.ws.jaxws.jbws944</package-type>
   <namespaceURI>http://org.jboss.ws/jbws944</namespaceURI>
  </package-mapping>
  <service-interface-mapping>
-  <service-interface>org.jboss.ws.jbws944.TestService</service-interface>
+  <service-interface>org.jboss.test.ws.jaxws.jbws944.TestService</service-interface>
   <wsdl-service-name xmlns:serviceNS='http://org.jboss.ws/jbws944'>serviceNS:TestService</wsdl-service-name>
   <port-mapping>
    <port-name>EndpointInterfacePort</port-name>
@@ -12,7 +12,7 @@
   </port-mapping>
  </service-interface-mapping>
  <service-endpoint-interface-mapping>
-  <service-endpoint-interface>org.jboss.ws.jbws944.EndpointInterface</service-endpoint-interface>
+  <service-endpoint-interface>org.jboss.test.ws.jaxws.jbws944.EndpointInterface</service-endpoint-interface>
   <wsdl-port-type xmlns:portTypeNS='http://org.jboss.ws/jbws944'>portTypeNS:EndpointInterface</wsdl-port-type>
   <wsdl-binding xmlns:bindingNS='http://org.jboss.ws/jbws944'>bindingNS:EndpointInterfaceBinding</wsdl-binding>
   <service-endpoint-method-mapping>

Modified: branches/tdiesler/jbossws-1.0/src/test/resources/jaxws/jbws944/META-INF/wsdl/TestService.wsdl
===================================================================
--- branches/tdiesler/jbossws-1.0/src/test/resources/jaxws/jbws944/META-INF/wsdl/TestService.wsdl	2006-10-10 04:30:40 UTC (rev 1183)
+++ branches/tdiesler/jbossws-1.0/src/test/resources/jaxws/jbws944/META-INF/wsdl/TestService.wsdl	2006-10-10 10:16:13 UTC (rev 1184)
@@ -1,4 +1,4 @@
-<definitions name='TestService' targetNamespace='http://org.jboss.ws/samples/jsr181ejb' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:tns='http://org.jboss.ws/samples/jsr181ejb' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
+<definitions name='TestService' targetNamespace='http://org.jboss.ws/jbws944' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:tns='http://org.jboss.ws/jbws944' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
  <types></types>
  <message name='EndpointInterface_echoResponse'>
   <part name='result' type='xsd:string'/>
@@ -17,10 +17,10 @@
   <operation name='echo'>
    <soap:operation soapAction=''/>
    <input>
-    <soap:body namespace='http://org.jboss.ws/samples/jsr181ejb' use='literal'/>
+    <soap:body namespace='http://org.jboss.ws/jbws944' use='literal'/>
    </input>
    <output>
-    <soap:body namespace='http://org.jboss.ws/samples/jsr181ejb' use='literal'/>
+    <soap:body namespace='http://org.jboss.ws/jbws944' use='literal'/>
    </output>
   </operation>
  </binding>

Modified: branches/tdiesler/jbossws-1.0/src/test/resources/jaxws/jsr181/soapbinding/bare-mapping.xml
===================================================================
--- branches/tdiesler/jbossws-1.0/src/test/resources/jaxws/jsr181/soapbinding/bare-mapping.xml	2006-10-10 04:30:40 UTC (rev 1183)
+++ branches/tdiesler/jbossws-1.0/src/test/resources/jaxws/jsr181/soapbinding/bare-mapping.xml	2006-10-10 10:16:13 UTC (rev 1184)
@@ -1,74 +1,75 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<java-wsdl-mapping xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.1" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee    http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd">
-<package-mapping>
-<package-type>org.jboss.test.ws.jaxws.jsr181.soapbinding</package-type>
-<namespaceURI>http://soapbinding.jsr181.jaxws.ws.test.jboss.org/jaws</namespaceURI>
-</package-mapping>
-<java-xml-type-mapping>
-<java-type>org.jboss.test.ws.jaxws.jsr181.soapbinding.SubmitBareResponse</java-type>
-<root-type-qname xmlns:typeNS="http://soapbinding.jsr181.jaxws.ws.test.jboss.org/jaws">typeNS:SubmitBareResponse</root-type-qname>
-<qname-scope>complexType</qname-scope>
-<variable-mapping>
-<java-variable-name>product</java-variable-name>
-<xml-element-name>product</xml-element-name>
-</variable-mapping>
-</java-xml-type-mapping>
-<java-xml-type-mapping>
-<java-type>org.jboss.test.ws.jaxws.jsr181.soapbinding.SubmitBareRequest</java-type>
-<root-type-qname xmlns:typeNS="http://soapbinding.jsr181.jaxws.ws.test.jboss.org/jaws">typeNS:SubmitBareRequest</root-type-qname>
-<qname-scope>complexType</qname-scope>
-<variable-mapping>
-<java-variable-name>product</java-variable-name>
-<xml-element-name>product</xml-element-name>
-</variable-mapping>
-</java-xml-type-mapping>
-<service-interface-mapping>
-<service-interface>org.jboss.test.ws.jaxws.jsr181.soapbinding.DocBareServiceService</service-interface>
-<wsdl-service-name xmlns:serviceNS="http://soapbinding.jsr181.jaxws.ws.test.jboss.org/jaws">serviceNS:DocBareServiceService</wsdl-service-name>
-<port-mapping>
-<port-name>DocBareServicePort</port-name>
-<java-port-name>DocBareServicePort</java-port-name>
-</port-mapping>
-</service-interface-mapping>
-<service-endpoint-interface-mapping>
-<service-endpoint-interface>org.jboss.test.ws.jaxws.jsr181.soapbinding.DocBareService</service-endpoint-interface>
-<wsdl-port-type xmlns:portTypeNS="http://soapbinding.jsr181.jaxws.ws.test.jboss.org/jaws">portTypeNS:DocBareService</wsdl-port-type>
-<wsdl-binding xmlns:bindingNS="http://soapbinding.jsr181.jaxws.ws.test.jboss.org/jaws">bindingNS:DocBareServiceBinding</wsdl-binding>
-<service-endpoint-method-mapping>
-<java-method-name>submitNamespacedPO</java-method-name>
-<wsdl-operation>SubmitNamespacedPO</wsdl-operation>
-<method-param-parts-mapping>
-<param-position>0</param-position>
-<param-type>org.jboss.test.ws.jaxws.jsr181.soapbinding.SubmitBareRequest</param-type>
-<wsdl-message-mapping>
-<wsdl-message xmlns:wsdlMsgNS="http://soapbinding.jsr181.jaxws.ws.test.jboss.org/jaws">wsdlMsgNS:DocBareService_SubmitNamespacedPO</wsdl-message>
-<wsdl-message-part-name>parameters</wsdl-message-part-name>
-<parameter-mode>IN</parameter-mode>
-</wsdl-message-mapping>
-</method-param-parts-mapping>
-<wsdl-return-value-mapping>
-<method-return-value>org.jboss.test.ws.jaxws.jsr181.soapbinding.SubmitBareResponse</method-return-value>
-<wsdl-message xmlns:wsdlMsgNS="http://soapbinding.jsr181.jaxws.ws.test.jboss.org/jaws">wsdlMsgNS:DocBareService_SubmitNamespacedPOResponse</wsdl-message>
-<wsdl-message-part-name>result</wsdl-message-part-name>
-</wsdl-return-value-mapping>
-</service-endpoint-method-mapping>
-<service-endpoint-method-mapping>
-<java-method-name>submitPO</java-method-name>
-<wsdl-operation>SubmitPO</wsdl-operation>
-<method-param-parts-mapping>
-<param-position>0</param-position>
-<param-type>org.jboss.test.ws.jaxws.jsr181.soapbinding.SubmitBareRequest</param-type>
-<wsdl-message-mapping>
-<wsdl-message xmlns:wsdlMsgNS="http://soapbinding.jsr181.jaxws.ws.test.jboss.org/jaws">wsdlMsgNS:DocBareService_SubmitPO</wsdl-message>
-<wsdl-message-part-name>parameters</wsdl-message-part-name>
-<parameter-mode>IN</parameter-mode>
-</wsdl-message-mapping>
-</method-param-parts-mapping>
-<wsdl-return-value-mapping>
-<method-return-value>org.jboss.test.ws.jaxws.jsr181.soapbinding.SubmitBareResponse</method-return-value>
-<wsdl-message xmlns:wsdlMsgNS="http://soapbinding.jsr181.jaxws.ws.test.jboss.org/jaws">wsdlMsgNS:DocBareService_SubmitPOResponse</wsdl-message>
-<wsdl-message-part-name>result</wsdl-message-part-name>
-</wsdl-return-value-mapping>
-</service-endpoint-method-mapping>
-</service-endpoint-interface-mapping>
-</java-wsdl-mapping>
+<java-wsdl-mapping xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.1"
+  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee    http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd">
+  <package-mapping>
+    <package-type>org.jboss.test.ws.jaxws.jsr181.soapbinding</package-type>
+    <namespaceURI>http://soapbinding.jsr181.jaxws.ws.test.jboss.org/jaws</namespaceURI>
+  </package-mapping>
+  <java-xml-type-mapping>
+    <java-type>org.jboss.test.ws.jaxws.jsr181.soapbinding.SubmitBareResponse</java-type>
+    <root-type-qname xmlns:typeNS="http://soapbinding.jsr181.jaxws.ws.test.jboss.org/jaws">typeNS:SubmitBareResponse</root-type-qname>
+    <qname-scope>complexType</qname-scope>
+    <variable-mapping>
+      <java-variable-name>product</java-variable-name>
+      <xml-element-name>product</xml-element-name>
+    </variable-mapping>
+  </java-xml-type-mapping>
+  <java-xml-type-mapping>
+    <java-type>org.jboss.test.ws.jaxws.jsr181.soapbinding.SubmitBareRequest</java-type>
+    <root-type-qname xmlns:typeNS="http://soapbinding.jsr181.jaxws.ws.test.jboss.org/jaws">typeNS:SubmitBareRequest</root-type-qname>
+    <qname-scope>complexType</qname-scope>
+    <variable-mapping>
+      <java-variable-name>product</java-variable-name>
+      <xml-element-name>product</xml-element-name>
+    </variable-mapping>
+  </java-xml-type-mapping>
+  <service-interface-mapping>
+    <service-interface>org.jboss.test.ws.jaxws.jsr181.soapbinding.DocBareServiceService</service-interface>
+    <wsdl-service-name xmlns:serviceNS="http://soapbinding.jsr181.jaxws.ws.test.jboss.org/jaws">serviceNS:DocBareServiceService</wsdl-service-name>
+    <port-mapping>
+      <port-name>DocBareServicePort</port-name>
+      <java-port-name>DocBareServicePort</java-port-name>
+    </port-mapping>
+  </service-interface-mapping>
+  <service-endpoint-interface-mapping>
+    <service-endpoint-interface>org.jboss.test.ws.jaxws.jsr181.soapbinding.DocBareService</service-endpoint-interface>
+    <wsdl-port-type xmlns:portTypeNS="http://soapbinding.jsr181.jaxws.ws.test.jboss.org/jaws">portTypeNS:DocBare</wsdl-port-type>
+    <wsdl-binding xmlns:bindingNS="http://soapbinding.jsr181.jaxws.ws.test.jboss.org/jaws">bindingNS:DocBareServiceBinding</wsdl-binding>
+    <service-endpoint-method-mapping>
+      <java-method-name>submitNamespacedPO</java-method-name>
+      <wsdl-operation>SubmitNamespacedPO</wsdl-operation>
+      <method-param-parts-mapping>
+        <param-position>0</param-position>
+        <param-type>org.jboss.test.ws.jaxws.jsr181.soapbinding.SubmitBareRequest</param-type>
+        <wsdl-message-mapping>
+          <wsdl-message xmlns:wsdlMsgNS="http://soapbinding.jsr181.jaxws.ws.test.jboss.org/jaws">wsdlMsgNS:DocBareService_SubmitNamespacedPO</wsdl-message>
+          <wsdl-message-part-name>parameters</wsdl-message-part-name>
+          <parameter-mode>IN</parameter-mode>
+        </wsdl-message-mapping>
+      </method-param-parts-mapping>
+      <wsdl-return-value-mapping>
+        <method-return-value>org.jboss.test.ws.jaxws.jsr181.soapbinding.SubmitBareResponse</method-return-value>
+        <wsdl-message xmlns:wsdlMsgNS="http://soapbinding.jsr181.jaxws.ws.test.jboss.org/jaws">wsdlMsgNS:DocBareService_SubmitNamespacedPOResponse</wsdl-message>
+        <wsdl-message-part-name>result</wsdl-message-part-name>
+      </wsdl-return-value-mapping>
+    </service-endpoint-method-mapping>
+    <service-endpoint-method-mapping>
+      <java-method-name>submitPO</java-method-name>
+      <wsdl-operation>SubmitPO</wsdl-operation>
+      <method-param-parts-mapping>
+        <param-position>0</param-position>
+        <param-type>org.jboss.test.ws.jaxws.jsr181.soapbinding.SubmitBareRequest</param-type>
+        <wsdl-message-mapping>
+          <wsdl-message xmlns:wsdlMsgNS="http://soapbinding.jsr181.jaxws.ws.test.jboss.org/jaws">wsdlMsgNS:DocBareService_SubmitPO</wsdl-message>
+          <wsdl-message-part-name>parameters</wsdl-message-part-name>
+          <parameter-mode>IN</parameter-mode>
+        </wsdl-message-mapping>
+      </method-param-parts-mapping>
+      <wsdl-return-value-mapping>
+        <method-return-value>org.jboss.test.ws.jaxws.jsr181.soapbinding.SubmitBareResponse</method-return-value>
+        <wsdl-message xmlns:wsdlMsgNS="http://soapbinding.jsr181.jaxws.ws.test.jboss.org/jaws">wsdlMsgNS:DocBareService_SubmitPOResponse</wsdl-message>
+        <wsdl-message-part-name>result</wsdl-message-part-name>
+      </wsdl-return-value-mapping>
+    </service-endpoint-method-mapping>
+  </service-endpoint-interface-mapping>
+</java-wsdl-mapping>
\ No newline at end of file




More information about the jboss-svn-commits mailing list