[jbossws-commits] JBossWS SVN: r3032 - in branches/JBWS-856/jbossws-core/src/java/org/jboss/ws/metadata/builder: jaxws and 1 other directory.
jbossws-commits at lists.jboss.org
jbossws-commits at lists.jboss.org
Wed May 9 17:52:50 EDT 2007
Author: palin
Date: 2007-05-09 17:52:50 -0400 (Wed, 09 May 2007)
New Revision: 3032
Modified:
branches/JBWS-856/jbossws-core/src/java/org/jboss/ws/metadata/builder/MetaDataBuilder.java
branches/JBWS-856/jbossws-core/src/java/org/jboss/ws/metadata/builder/jaxws/JAXWSWebServiceMetaDataBuilder.java
Log:
Bug fix: publish the user provided wsdl (if available) even if some processing on policies has been done.
Modified: branches/JBWS-856/jbossws-core/src/java/org/jboss/ws/metadata/builder/MetaDataBuilder.java
===================================================================
--- branches/JBWS-856/jbossws-core/src/java/org/jboss/ws/metadata/builder/MetaDataBuilder.java 2007-05-09 21:27:34 UTC (rev 3031)
+++ branches/JBWS-856/jbossws-core/src/java/org/jboss/ws/metadata/builder/MetaDataBuilder.java 2007-05-09 21:52:50 UTC (rev 3032)
@@ -480,23 +480,28 @@
localPolicyRegistry.register(policy.getPolicyURI(), policy);
}
- WSDLService wsdlService = wsdlDefinitions.getService(epMetaData.getServiceMetaData().getServiceName().getLocalPart());
- WSDLEndpoint wsdlEndpoint = wsdlService.getEndpoint(epMetaData.getPortName());
- WSDLInterface wsdlInterface = wsdlDefinitions.getInterface(epMetaData.getPortTypeName());
- WSDLBinding wsdlBinding = wsdlDefinitions.getBindingByInterfaceName(epMetaData.getPortTypeName());
-
//Port scope
- if (wsdlEndpoint != null)
+ WSDLService wsdlService = wsdlDefinitions.getService(epMetaData.getServiceMetaData().getServiceName());
+ if (wsdlService != null)
{
- List<WSDLExtensibilityElement> portPolicyRefList = wsdlEndpoint.getExtensibilityElements(Constants.WSDL_ELEMENT_POLICYREFERENCE);
- deployPolicies(portPolicyRefList, PolicyScopeLevel.WSDL_PORT, localPolicyRegistry, epMetaData);
+ WSDLEndpoint wsdlEndpoint = wsdlService.getEndpoint(epMetaData.getPortName());
+ if (wsdlEndpoint != null)
+ {
+ List<WSDLExtensibilityElement> portPolicyRefList = wsdlEndpoint.getExtensibilityElements(Constants.WSDL_ELEMENT_POLICYREFERENCE);
+ deployPolicies(portPolicyRefList, PolicyScopeLevel.WSDL_PORT, localPolicyRegistry, epMetaData);
+ }
+ else
+ {
+ log.warn("Cannot get port '"+epMetaData.getPortName()+"' from the given wsdl definitions! Eventual policies attached to this port won't be considered.");
+ }
}
else
{
- log.warn("Cannot get port '"+epMetaData.getPortName()+"' from the given wsdl definitions!");
+ log.warn("Cannot get service '"+epMetaData.getServiceMetaData().getServiceName()+"' from the given wsdl definitions! Eventual policies attached to this service won't be considered.");
}
//Binding scope
+ WSDLBinding wsdlBinding = wsdlDefinitions.getBindingByInterfaceName(epMetaData.getPortTypeName());
if (wsdlBinding != null)
{
List<WSDLExtensibilityElement> bindingPolicyRefList = wsdlBinding.getExtensibilityElements(Constants.WSDL_ELEMENT_POLICYREFERENCE);
@@ -504,10 +509,11 @@
}
else
{
- log.warn("Cannot get binding for portType '"+epMetaData.getPortTypeName()+"' from the given wsdl definitions!");
+ log.warn("Cannot get binding for portType '"+epMetaData.getPortTypeName()+"' from the given wsdl definitions! Eventual policies attached to this binding won't be considered.");
}
//PortType scope
+ WSDLInterface wsdlInterface = wsdlDefinitions.getInterface(epMetaData.getPortTypeName());
if (wsdlInterface != null)
{
List<WSDLExtensibilityElement> portTypePolicyRefList = wsdlInterface.getExtensibilityElements(Constants.WSDL_PROPERTY_POLICYURIS);
@@ -515,7 +521,7 @@
}
else
{
- log.warn("Cannot get portType '"+epMetaData.getPortTypeName()+"' from the given wsdl definitions!");
+ log.warn("Cannot get portType '"+epMetaData.getPortTypeName()+"' from the given wsdl definitions! Eventual policies attached to this portType won't be considered.");
}
}
Modified: branches/JBWS-856/jbossws-core/src/java/org/jboss/ws/metadata/builder/jaxws/JAXWSWebServiceMetaDataBuilder.java
===================================================================
--- branches/JBWS-856/jbossws-core/src/java/org/jboss/ws/metadata/builder/jaxws/JAXWSWebServiceMetaDataBuilder.java 2007-05-09 21:27:34 UTC (rev 3031)
+++ branches/JBWS-856/jbossws-core/src/java/org/jboss/ws/metadata/builder/jaxws/JAXWSWebServiceMetaDataBuilder.java 2007-05-09 21:52:50 UTC (rev 3032)
@@ -354,21 +354,19 @@
WSDLDefinitionsFactory factory = WSDLDefinitionsFactory.newInstance();
if (wsdlLocation != null)
{
- //we can no longer use the user provided wsdl without parsing it right now,
- //since we need to look for policies, eventually choose the supported
- //policy alternatives and generate the final wsdl
- //serviceMetaData.setWsdlLocation(wsdlLocation);
+ //we can no longer use the user provided wsdl without parsing it right now, since we
+ //need to look for policies and eventually choose the supported policy alternatives
WSDLDefinitions wsdlDefinitions = factory.parse(wsdlLocation);
processPolicyMetaDataExtension(epMetaData, wsdlDefinitions);
- if (policyLocation == null)
+ if (policyLocation != null)
{
//process wsdl fragment with additional policies
WSDLDefinitions policyDefinitions = factory.parse(policyLocation);
processPolicyMetaDataExtension(epMetaData, policyDefinitions);
}
- //generate the wsdl4j model again for the actual UMDM containing policy data
- WSDLDefinitions actualWsdlDefinitions = generator.generate(serviceMetaData);
- writeWsdl(serviceMetaData,actualWsdlDefinitions,epMetaData);
+ //now we have the UMDM containing policy data; anyway we can't write a new wsdl file with
+ //the supported alternatives and so on, since we need to publish the file the user provided
+ serviceMetaData.setWsdlLocation(wsdlLocation);
}
else
{
More information about the jbossws-commits
mailing list