Author: dkulp Date: Wed Feb 13 17:09:33 2013 New Revision: 1445750 URL: http://svn.apache.org/r1445750 Log: Merged revisions 1445730 via git cherry-pick from https://svn.apache.org/repos/asf/cxf/branches/2.6.x-fixes
........ r1445730 | dkulp | 2013-02-13 11:48:42 -0500 (Wed, 13 Feb 2013) | 18 lines Merged revisions 1445378 via git cherry-pick from https://svn.apache.org/repos/asf/cxf/branches/2.7.x-fixes ........ r1445378 | dkulp | 2013-02-12 16:16:13 -0500 (Tue, 12 Feb 2013) | 10 lines Merged revisions 1445284 via git cherry-pick from https://svn.apache.org/repos/asf/cxf/trunk ........ r1445284 | dkulp | 2013-02-12 12:30:20 -0500 (Tue, 12 Feb 2013) | 2 lines If the DescriptionInfo doesn't have a baseURI, create one to avoid policy fragments poluting from one wsdl to another. ........ ........ ........ Modified: cxf/branches/2.5.x-fixes/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/attachment/wsdl11/Wsdl11AttachmentPolicyProvider.java Modified: cxf/branches/2.5.x-fixes/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/attachment/wsdl11/Wsdl11AttachmentPolicyProvider.java URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/attachment/wsdl11/Wsdl11AttachmentPolicyProvider.java?rev=1445750&r1=1445749&r2=1445750&view=diff ============================================================================== --- cxf/branches/2.5.x-fixes/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/attachment/wsdl11/Wsdl11AttachmentPolicyProvider.java (original) +++ cxf/branches/2.5.x-fixes/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/attachment/wsdl11/Wsdl11AttachmentPolicyProvider.java Wed Feb 13 17:09:33 2013 @@ -189,7 +189,11 @@ public class Wsdl11AttachmentPolicyProvi Policy policy = builder.getPolicy(e.getElement()); String fragement = "#" + uri; registry.register(fragement, policy); - registry.register(di.getBaseURI() + fragement, policy); + if (di.getBaseURI() == null) { + registry.register(Integer.toString(di.hashCode()) + fragement, policy); + } else { + registry.register(di.getBaseURI() + fragement, policy); + } } catch (Exception policyEx) { //ignore the policy can not be built LOG.warning("Failed to build the policy '" + uri + "':" + policyEx.getMessage()); @@ -259,7 +263,11 @@ public class Wsdl11AttachmentPolicyProvi Policy resolveReference(PolicyReference ref, DescriptionInfo di) { Policy p = null; if (isExternal(ref)) { - p = resolveExternal(ref, di.getBaseURI()); + String uri = di.getBaseURI(); + if (uri == null) { + uri = Integer.toString(di.hashCode()); + } + p = resolveExternal(ref, uri); } else { p = resolveLocal(ref, di); } @@ -269,7 +277,12 @@ public class Wsdl11AttachmentPolicyProvi Policy resolveLocal(PolicyReference ref, DescriptionInfo di) { String uri = ref.getURI().substring(1); - String absoluteURI = di.getBaseURI() + ref.getURI(); + String absoluteURI = di.getBaseURI(); + if (absoluteURI == null) { + absoluteURI = Integer.toString(di.hashCode()) + ref.getURI(); + } else { + absoluteURI = absoluteURI + ref.getURI(); + } Policy resolved = registry.lookup(absoluteURI); if (null != resolved) { return resolved;
