You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2017/04/05 19:15:50 UTC

[1/2] cxf git commit: [CXF-6768] Add ws-addr schema to catalog for offline support This closes #108

Repository: cxf
Updated Branches:
  refs/heads/master 60d257751 -> 8dd8b14da


[CXF-6768] Add ws-addr schema to catalog for offline support
This closes #108


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/8dd8b14d
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/8dd8b14d
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/8dd8b14d

Branch: refs/heads/master
Commit: 8dd8b14da69ae7a56d0c39c3c1e6405394763419
Parents: 29af9d4
Author: Nick Birnie <ni...@seebyte.com>
Authored: Tue Feb 16 17:15:03 2016 +0000
Committer: Daniel Kulp <dk...@apache.org>
Committed: Wed Apr 5 14:49:11 2017 -0400

----------------------------------------------------------------------
 .../main/resources/META-INF/jax-ws-catalog.xml  |   7 +
 .../apache/cxf/ws/discovery/wsdl/ws-addr.xsd    | 137 +++++++++++++++++++
 2 files changed, 144 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/8dd8b14d/services/ws-discovery/ws-discovery-api/src/main/resources/META-INF/jax-ws-catalog.xml
----------------------------------------------------------------------
diff --git a/services/ws-discovery/ws-discovery-api/src/main/resources/META-INF/jax-ws-catalog.xml b/services/ws-discovery/ws-discovery-api/src/main/resources/META-INF/jax-ws-catalog.xml
new file mode 100644
index 0000000..c3c1540
--- /dev/null
+++ b/services/ws-discovery/ws-discovery-api/src/main/resources/META-INF/jax-ws-catalog.xml
@@ -0,0 +1,7 @@
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
+        prefer="system">
+    
+    <system
+        systemId="http://www.w3.org/2006/03/addressing/ws-addr.xsd"
+        uri="classpath:/org/apache/cxf/ws/discovery/wsdl/ws-addr.xsd"/>
+</catalog>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cxf/blob/8dd8b14d/services/ws-discovery/ws-discovery-api/src/main/resources/org/apache/cxf/ws/discovery/wsdl/ws-addr.xsd
----------------------------------------------------------------------
diff --git a/services/ws-discovery/ws-discovery-api/src/main/resources/org/apache/cxf/ws/discovery/wsdl/ws-addr.xsd b/services/ws-discovery/ws-discovery-api/src/main/resources/org/apache/cxf/ws/discovery/wsdl/ws-addr.xsd
new file mode 100644
index 0000000..47362ed
--- /dev/null
+++ b/services/ws-discovery/ws-discovery-api/src/main/resources/org/apache/cxf/ws/discovery/wsdl/ws-addr.xsd
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    W3C XML Schema defined in the Web Services Addressing 1.0 specification
+    http://www.w3.org/TR/ws-addr-core
+
+   Copyright � 2005 World Wide Web Consortium,
+
+   (Massachusetts Institute of Technology, European Research Consortium for
+   Informatics and Mathematics, Keio University). All Rights Reserved. This
+   work is distributed under the W3C� Software License [1] in the hope that
+   it will be useful, but WITHOUT ANY WARRANTY; without even the implied
+   warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+   [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+
+   $Id: ws-addr.xsd,v 1.2 2008/07/23 13:38:16 plehegar Exp $
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.w3.org/2005/08/addressing" targetNamespace="http://www.w3.org/2005/08/addressing" blockDefault="#all" elementFormDefault="qualified" finalDefault="" attributeFormDefault="unqualified">
+	
+	<!-- Constructs from the WS-Addressing Core -->
+
+	<xs:element name="EndpointReference" type="tns:EndpointReferenceType"/>
+	<xs:complexType name="EndpointReferenceType" mixed="false">
+		<xs:sequence>
+			<xs:element name="Address" type="tns:AttributedURIType"/>
+			<xs:element ref="tns:ReferenceParameters" minOccurs="0"/>
+			<xs:element ref="tns:Metadata" minOccurs="0"/>
+			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+	
+	<xs:element name="ReferenceParameters" type="tns:ReferenceParametersType"/>
+	<xs:complexType name="ReferenceParametersType" mixed="false">
+		<xs:sequence>
+			<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+	
+	<xs:element name="Metadata" type="tns:MetadataType"/>
+	<xs:complexType name="MetadataType" mixed="false">
+		<xs:sequence>
+			<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</xs:sequence>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+	
+	<xs:element name="MessageID" type="tns:AttributedURIType"/>
+	<xs:element name="RelatesTo" type="tns:RelatesToType"/>
+	<xs:complexType name="RelatesToType" mixed="false">
+		<xs:simpleContent>
+			<xs:extension base="xs:anyURI">
+				<xs:attribute name="RelationshipType" type="tns:RelationshipTypeOpenEnum" use="optional" default="http://www.w3.org/2005/08/addressing/reply"/>
+				<xs:anyAttribute namespace="##other" processContents="lax"/>
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	
+	<xs:simpleType name="RelationshipTypeOpenEnum">
+		<xs:union memberTypes="tns:RelationshipType xs:anyURI"/>
+	</xs:simpleType>
+	
+	<xs:simpleType name="RelationshipType">
+		<xs:restriction base="xs:anyURI">
+			<xs:enumeration value="http://www.w3.org/2005/08/addressing/reply"/>
+		</xs:restriction>
+	</xs:simpleType>
+	
+	<xs:element name="ReplyTo" type="tns:EndpointReferenceType"/>
+	<xs:element name="From" type="tns:EndpointReferenceType"/>
+	<xs:element name="FaultTo" type="tns:EndpointReferenceType"/>
+	<xs:element name="To" type="tns:AttributedURIType"/>
+	<xs:element name="Action" type="tns:AttributedURIType"/>
+
+	<xs:complexType name="AttributedURIType" mixed="false">
+		<xs:simpleContent>
+			<xs:extension base="xs:anyURI">
+				<xs:anyAttribute namespace="##other" processContents="lax"/>
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	
+	<!-- Constructs from the WS-Addressing SOAP binding -->
+
+	<xs:attribute name="IsReferenceParameter" type="xs:boolean"/>
+	
+	<xs:simpleType name="FaultCodesOpenEnumType">
+		<xs:union memberTypes="tns:FaultCodesType xs:QName"/>
+	</xs:simpleType>
+	
+	<xs:simpleType name="FaultCodesType">
+		<xs:restriction base="xs:QName">
+			<xs:enumeration value="tns:InvalidAddressingHeader"/>
+			<xs:enumeration value="tns:InvalidAddress"/>
+			<xs:enumeration value="tns:InvalidEPR"/>
+			<xs:enumeration value="tns:InvalidCardinality"/>
+			<xs:enumeration value="tns:MissingAddressInEPR"/>
+			<xs:enumeration value="tns:DuplicateMessageID"/>
+			<xs:enumeration value="tns:ActionMismatch"/>
+			<xs:enumeration value="tns:MessageAddressingHeaderRequired"/>
+			<xs:enumeration value="tns:DestinationUnreachable"/>
+			<xs:enumeration value="tns:ActionNotSupported"/>
+			<xs:enumeration value="tns:EndpointUnavailable"/>
+		</xs:restriction>
+	</xs:simpleType>
+	
+	<xs:element name="RetryAfter" type="tns:AttributedUnsignedLongType"/>
+	<xs:complexType name="AttributedUnsignedLongType" mixed="false">
+		<xs:simpleContent>
+			<xs:extension base="xs:unsignedLong">
+				<xs:anyAttribute namespace="##other" processContents="lax"/>
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	
+	<xs:element name="ProblemHeaderQName" type="tns:AttributedQNameType"/>
+	<xs:complexType name="AttributedQNameType" mixed="false">
+		<xs:simpleContent>
+			<xs:extension base="xs:QName">
+				<xs:anyAttribute namespace="##other" processContents="lax"/>
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	
+	<xs:element name="ProblemIRI" type="tns:AttributedURIType"/>
+	
+	<xs:element name="ProblemAction" type="tns:ProblemActionType"/>
+	<xs:complexType name="ProblemActionType" mixed="false">
+		<xs:sequence>
+			<xs:element ref="tns:Action" minOccurs="0"/>
+			<xs:element name="SoapAction" minOccurs="0" type="xs:anyURI"/>
+		</xs:sequence>
+		<xs:anyAttribute namespace="##other" processContents="lax"/>
+	</xs:complexType>
+	
+</xs:schema>


[2/2] cxf git commit: [CXF-6919] For soap 1.2, make sure the fault code is valid

Posted by dk...@apache.org.
[CXF-6919] For soap 1.2, make sure the fault code is valid


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/29af9d48
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/29af9d48
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/29af9d48

Branch: refs/heads/master
Commit: 29af9d48cee34521fcc9bc27a79d15f5781916a9
Parents: 60d2577
Author: Daniel Kulp <dk...@apache.org>
Authored: Wed Apr 5 11:29:05 2017 -0400
Committer: Daniel Kulp <dk...@apache.org>
Committed: Wed Apr 5 14:49:11 2017 -0400

----------------------------------------------------------------------
 .../apache/cxf/binding/soap/saaj/SAAJUtils.java | 39 +++++++++++++-------
 1 file changed, 25 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/29af9d48/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJUtils.java
----------------------------------------------------------------------
diff --git a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJUtils.java b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJUtils.java
index c29af06..96a1701 100644
--- a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJUtils.java
+++ b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJUtils.java
@@ -21,12 +21,14 @@ package org.apache.cxf.binding.soap.saaj;
 
 import javax.xml.namespace.QName;
 import javax.xml.soap.SOAPBody;
+import javax.xml.soap.SOAPConstants;
 import javax.xml.soap.SOAPElement;
 import javax.xml.soap.SOAPException;
 import javax.xml.soap.SOAPFault;
 import javax.xml.soap.SOAPHeader;
 import javax.xml.soap.SOAPMessage;
 
+import org.apache.cxf.binding.soap.Soap12;
 import org.apache.cxf.common.util.StringUtils;
 
 /**
@@ -52,24 +54,33 @@ public final class SAAJUtils {
             return m.getSOAPPart().getEnvelope().getBody();
         }
     }
+    
     public static void setFaultCode(SOAPFault f, QName code) throws SOAPException {
-        try {
-            f.setFaultCode(code);
-        } catch (Throwable t) {
-            int count = 1;
-            String pfx = "fc1";
-            while (!StringUtils.isEmpty(f.getNamespaceURI(pfx))) {
-                count++;
-                pfx = "fc" + count;
+        if (f.getNamespaceURI().equals(Soap12.SOAP_NAMESPACE)) {
+            try {
+                f.setFaultCode(code);
+            } catch (SOAPException ex) {
+                f.setFaultCode(SOAPConstants.SOAP_SENDER_FAULT);
+                f.appendFaultSubcode(code);
             }
-            if (code.getNamespaceURI() != null && !"".equals(code.getNamespaceURI())) {
-                f.addNamespaceDeclaration(pfx, code.getNamespaceURI());
-            } else {
-                f.addNamespaceDeclaration(pfx, f.getNamespaceURI());
+        } else {
+            try {
+                f.setFaultCode(code);
+            } catch (Throwable t) {
+                int count = 1;
+                String pfx = "fc1";
+                while (!StringUtils.isEmpty(f.getNamespaceURI(pfx))) {
+                    count++;
+                    pfx = "fc" + count;
+                }
+                if (code.getNamespaceURI() != null && !"".equals(code.getNamespaceURI())) {
+                    f.addNamespaceDeclaration(pfx, code.getNamespaceURI());
+                } else {
+                    f.addNamespaceDeclaration(pfx, f.getNamespaceURI());
+                }
+                f.setFaultCode(pfx + ":" + code.getLocalPart());
             }
-            f.setFaultCode(pfx + ":" + code.getLocalPart());
         }
-
     }
 
     public static SOAPElement adjustPrefix(SOAPElement e, String prefix) {