cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cschnei...@apache.org
Subject svn commit: r1512574 [2/6] - in /cxf/branches/2.7.x-fixes: parent/ services/ services/xkms/ services/xkms/xkms-client/ services/xkms/xkms-client/src/ services/xkms/xkms-client/src/main/ services/xkms/xkms-client/src/main/java/ services/xkms/xkms-client...
Date Sat, 10 Aug 2013 07:52:39 GMT
Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/resources/cxf-xkms-client-ehcache.xml
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/resources/cxf-xkms-client-ehcache.xml?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/resources/cxf-xkms-client-ehcache.xml (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/resources/cxf-xkms-client-ehcache.xml Sat Aug 10 07:52:35 2013
@@ -0,0 +1,17 @@
+<ehcache xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="false" 
+    monitoring="autodetect" dynamicConfig="true" name="xkmsClientCache">
+
+    <diskStore path="java.io.tmpdir"/>
+
+    <defaultCache
+            maxEntriesLocalHeap="5000"
+            eternal="false"
+            timeToIdleSeconds="3600"
+            timeToLiveSeconds="3600"
+            overflowToDisk="true"
+            maxElementsOnDisk="10000000"
+            diskPersistent="false"
+            diskExpiryThreadIntervalSeconds="120"
+            memoryStoreEvictionPolicy="LRU"
+            />
+</ehcache>

Propchange: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sat Aug 10 07:52:35 2013
@@ -0,0 +1,7 @@
+.settings
+
+.classpath
+
+.project
+
+target

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/pom.xml
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/pom.xml?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/pom.xml (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/pom.xml Sat Aug 10 07:52:35 2013
@@ -0,0 +1,82 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements. See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership. The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License. You may obtain a copy of the License at
+ 
+  http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied. See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.cxf.services.xkms</groupId>
+    <artifactId>cxf-services-xkms-common</artifactId>
+    <packaging>bundle</packaging>
+    <name>Apache CXF XKMS Common</name>
+    <url>http://cxf.apache.org</url>
+
+    <parent>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-parent</artifactId>
+        <version>2.7.7-SNAPSHOT</version>
+        <relativePath>../../../parent/pom.xml</relativePath>
+    </parent>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-beans</artifactId>
+            <!-- Not needed in OSGi when using blueprint -->
+            <optional>true</optional>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.cxf</groupId>
+                <artifactId>cxf-codegen-plugin</artifactId>
+                <version>${project.version}</version>
+                <executions>
+                    <execution>
+                        <id>generate-sources</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>wsdl2java</goal>
+                        </goals>
+                        <configuration>
+                            <frontend>jaxws21</frontend>
+                            <wsdlOptions>
+                                <wsdlOption>
+                                    <wsdl>${basedir}/src/main/model/xkms.wsdl</wsdl>
+                                    <bindingFile>${basedir}/src/main/model/binding.xjb</bindingFile>
+                                </wsdlOption>
+                            </wsdlOptions>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
+                    </instructions>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/ExceptionMapper.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/ExceptionMapper.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/ExceptionMapper.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/ExceptionMapper.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,87 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.xkms.exception;
+
+import org.apache.cxf.xkms.model.extensions.ResultDetails;
+import org.apache.cxf.xkms.model.xkms.ResultMajorEnum;
+import org.apache.cxf.xkms.model.xkms.ResultMinorEnum;
+import org.apache.cxf.xkms.model.xkms.ResultType;
+
+public final class ExceptionMapper {
+
+    private ExceptionMapper() {
+    }
+
+    public static <T extends ResultType> T toResponse(Exception e, T result) {
+        if (e instanceof XKMSException) {
+            XKMSException xkmsEx = (XKMSException)e;
+            initResultType(xkmsEx.getMessage(), xkmsEx.getResultMajor(), xkmsEx.getResultMinor(), result);
+        } else if (e instanceof UnsupportedOperationException) {
+            initResultType(e.getMessage(),
+                                    ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_SENDER,
+                                    ResultMinorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_MESSAGE_NOT_SUPPORTED,
+                                    result);
+        } else if (e instanceof IllegalArgumentException) {
+            initResultType(e.getMessage(),
+                                    ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_SENDER,
+                                    ResultMinorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_FAILURE,
+                                    result);
+        } else {
+            initResultType(e.getMessage(),
+                                    ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_RECEIVER,
+                                    ResultMinorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_FAILURE,
+                                    result);
+        }
+        return result;
+    }
+
+    public static XKMSException fromResponse(ResultType result) {
+        ResultMajorEnum major = null;
+        if ((result.getResultMajor() != null) && !result.getResultMajor().isEmpty()) {
+            major = ResultMajorEnum.fromValue(result.getResultMajor());
+        }
+        if (major == ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_SUCCESS) {
+            return null;
+        }
+        ResultMinorEnum minor = null;
+        if ((result.getResultMinor() != null) && !result.getResultMinor().isEmpty()) {
+            minor = ResultMinorEnum.fromValue(result.getResultMinor());
+        }
+
+        String message = null;
+        if (!result.getMessageExtension().isEmpty()) {
+            message = ((ResultDetails) result.getMessageExtension().get(0)).getDetails();
+        }
+        return new XKMSException(major, minor, message);
+    }
+
+    private static <T extends ResultType> void initResultType(String message, ResultMajorEnum majorCode,
+                                             ResultMinorEnum minorCode, T result) {
+        result.setResultMajor((majorCode != null)
+            ? majorCode.value() : ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_RECEIVER.value());
+        result.setResultMinor((minorCode != null)
+            ? minorCode.value() : ResultMinorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_FAILURE.value());
+        if (message != null) {
+            ResultDetails resultDetails = new ResultDetails();
+            resultDetails.setDetails(message);
+            result.getMessageExtension().add(resultDetails);
+        }
+    }
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSArgumentNotMatchException.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSArgumentNotMatchException.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSArgumentNotMatchException.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSArgumentNotMatchException.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,44 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.xkms.exception;
+
+import org.apache.cxf.xkms.model.xkms.ResultMajorEnum;
+import org.apache.cxf.xkms.model.xkms.ResultMinorEnum;
+
+public class XKMSArgumentNotMatchException extends XKMSException {
+
+    private static final long serialVersionUID = 868729742068991784L;
+
+    public XKMSArgumentNotMatchException() {
+        super(ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_RECEIVER,
+              ResultMinorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_NO_MATCH);
+    }
+
+    public XKMSArgumentNotMatchException(String arg0) {
+        super(ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_RECEIVER,
+              ResultMinorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_NO_MATCH, arg0);
+    }
+
+    public XKMSArgumentNotMatchException(String arg0, Throwable arg1) {
+        super(ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_RECEIVER,
+              ResultMinorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_NO_MATCH, arg0, arg1);
+    }
+
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSCertificateException.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSCertificateException.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSCertificateException.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSCertificateException.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,44 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.xkms.exception;
+
+import org.apache.cxf.xkms.model.xkms.ResultMajorEnum;
+import org.apache.cxf.xkms.model.xkms.ResultMinorEnum;
+
+public class XKMSCertificateException extends XKMSException {
+
+    private static final long serialVersionUID = 868729742068991784L;
+
+    public XKMSCertificateException() {
+        super(ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_RECEIVER,
+              ResultMinorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_FAILURE);
+    }
+
+    public XKMSCertificateException(String arg0) {
+        super(ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_RECEIVER,
+              ResultMinorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_FAILURE, arg0);
+    }
+
+    public XKMSCertificateException(String arg0, Throwable arg1) {
+        super(ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_RECEIVER,
+              ResultMinorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_FAILURE, arg0, arg1);
+    }
+
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSConfigurationException.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSConfigurationException.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSConfigurationException.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSConfigurationException.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.xkms.exception;
+
+import org.apache.cxf.xkms.model.xkms.ResultMajorEnum;
+import org.apache.cxf.xkms.model.xkms.ResultMinorEnum;
+
+
+public class XKMSConfigurationException extends XKMSException {
+
+    private static final long serialVersionUID = 868729742068991786L;
+
+    public XKMSConfigurationException(ResultMajorEnum resultMajor, ResultMinorEnum resultMinor, String msg) {
+        super(resultMajor, resultMinor, msg);
+    }
+
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSException.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSException.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSException.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSException.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,68 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.xkms.exception;
+
+import org.apache.cxf.xkms.model.xkms.ResultMajorEnum;
+import org.apache.cxf.xkms.model.xkms.ResultMinorEnum;
+
+public class XKMSException extends RuntimeException {
+
+    private static final long serialVersionUID = 7247415453067157299L;
+    
+    private ResultMajorEnum resultMajor;
+    private ResultMinorEnum resultMinor;
+
+    public XKMSException(ResultMajorEnum resultMajor, ResultMinorEnum resultMinor) {
+        super(String.format("Result major: %s; result minor: %s", resultMajor.toString(),
+                            resultMinor.toString()));
+        this.resultMajor = resultMajor;
+        this.resultMinor = resultMinor;
+    }
+
+    public XKMSException(ResultMajorEnum resultMajor, ResultMinorEnum resultMinor, String msg) {
+        super((msg != null) ? msg : String.format("Result major: %s; result minor: %s", resultMajor.toString(),
+                            resultMinor.toString()));
+        this.resultMajor = resultMajor;
+        this.resultMinor = resultMinor;
+    }
+
+    public XKMSException(ResultMajorEnum resultMajor, ResultMinorEnum resultMinor, String arg0, Throwable arg1) {
+        super(arg0, arg1);
+        this.resultMajor = resultMajor;
+        this.resultMinor = resultMinor;
+    }
+
+    public XKMSException(String arg0) {
+        super(arg0);
+    }
+
+    public XKMSException(String arg0, Throwable arg1) {
+        super(arg0, arg1);
+    }
+
+    public ResultMajorEnum getResultMajor() {
+        return resultMajor;
+    }
+
+    public ResultMinorEnum getResultMinor() {
+        return resultMinor;
+    }
+
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSLocateException.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSLocateException.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSLocateException.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSLocateException.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,35 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.xkms.exception;
+
+
+public class XKMSLocateException extends XKMSException {
+
+    private static final long serialVersionUID = 868729742068991784L;
+
+    public XKMSLocateException(String msg) {
+        super(msg);
+    }
+
+    public XKMSLocateException(String msg, Throwable e) {
+        super(msg, e);
+    }
+
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSNotFoundException.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSNotFoundException.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSNotFoundException.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSNotFoundException.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,35 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.xkms.exception;
+
+
+public class XKMSNotFoundException extends XKMSException {
+
+    private static final long serialVersionUID = 868729742068991785L;
+
+    public XKMSNotFoundException(String arg0) {
+        super(arg0);
+    }
+
+    public XKMSNotFoundException(String arg0, Throwable arg1) {
+        super(arg0, arg1);
+    }
+
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSRequestException.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSRequestException.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSRequestException.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSRequestException.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,44 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.xkms.exception;
+
+import org.apache.cxf.xkms.model.xkms.ResultMajorEnum;
+import org.apache.cxf.xkms.model.xkms.ResultMinorEnum;
+
+public class XKMSRequestException extends XKMSException {
+
+    private static final long serialVersionUID = 868729742068991783L;
+
+    public XKMSRequestException() {
+        super(ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_SENDER,
+              ResultMinorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_FAILURE);
+    }
+
+    public XKMSRequestException(String arg0) {
+        super(ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_SENDER,
+              ResultMinorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_FAILURE, arg0);
+    }
+
+    public XKMSRequestException(String arg0, Throwable arg1) {
+        super(ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_SENDER,
+              ResultMinorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_FAILURE, arg0, arg1);
+    }
+
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSTooManyResponsesException.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSTooManyResponsesException.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSTooManyResponsesException.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSTooManyResponsesException.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,44 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.xkms.exception;
+
+import org.apache.cxf.xkms.model.xkms.ResultMajorEnum;
+import org.apache.cxf.xkms.model.xkms.ResultMinorEnum;
+
+public class XKMSTooManyResponsesException extends XKMSException {
+
+    private static final long serialVersionUID = 868729742068991783L;
+
+    public XKMSTooManyResponsesException() {
+        super(ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_RECEIVER,
+              ResultMinorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_TOO_MANY_RESPONSES);
+    }
+
+    public XKMSTooManyResponsesException(String arg0) {
+        super(ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_RECEIVER,
+              ResultMinorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_TOO_MANY_RESPONSES, arg0);
+    }
+
+    public XKMSTooManyResponsesException(String arg0, Throwable arg1) {
+        super(ResultMajorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_RECEIVER,
+              ResultMinorEnum.HTTP_WWW_W_3_ORG_2002_03_XKMS_TOO_MANY_RESPONSES, arg0, arg1);
+    }
+
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSValidateException.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSValidateException.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSValidateException.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/exception/XKMSValidateException.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,35 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.xkms.exception;
+
+
+public class XKMSValidateException extends XKMSException {
+
+    private static final long serialVersionUID = 868729742068991785L;
+
+    public XKMSValidateException(String msg) {
+        super(msg);
+    }
+
+    public XKMSValidateException(String msg, Throwable e) {
+        super(msg, e);
+    }
+
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/Applications.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/Applications.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/Applications.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/Applications.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,66 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.xkms.handlers;
+
+public enum Applications {
+    /**
+     * Certificate Subject Name
+     */
+    PKIX("urn:ietf:rfc:2459"),
+    /**
+     * DNS address of http server
+     */
+    TLS_HTTPS("urn:ietf:rfc:2818"),
+    /**
+     * Service Endpoint Name
+     */
+    SERVICE_SOAP("urn:apache:cxf:service:soap"),
+    /**
+     * Certificate Issuer
+     */
+    ISSUER("urn:x509:issuer"),
+    /**
+     * Certificate Serial Number
+     */
+    SERIAL("urn:x509:serial"),
+    /**
+     * SMTP email address of subject
+     */
+    PGP("urn:ietf:rfc:2440");
+
+    private String uri;
+
+    private Applications(String uri) {
+        this.uri = uri;
+    }
+
+    public String getUri() {
+        return this.uri;
+    }
+    
+    public static Applications fromUri(String uri) {
+        for (Applications app :  Applications.values()) {
+            if (app.getUri().equals(uri)) {
+                return app;
+            }
+        }
+        return null;
+    }
+    
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/DnUtils.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/DnUtils.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/DnUtils.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/DnUtils.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,126 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.xkms.handlers;
+
+
+/**
+ * A couple of utility methods for working with X500 Distinguished Names
+ */
+public final class DnUtils {
+    
+    private DnUtils() {
+        
+    }
+
+    public static String extractMostSignificantAttribute(String identifier) {
+        // first find the first comma-delimited value
+        String[] split = identifier.split(",");
+        String msaVal = null;
+        String cnVal = null;
+        String ouVal = null;
+        for (String val : split) {
+            val = normalizeAttribute(val);
+            if (null == msaVal) {
+                msaVal = val;
+            }
+            if ((cnVal == null) && val.startsWith("cn=")) {
+                cnVal = val;
+            }
+            if ((ouVal == null) && val.startsWith("ou=")) {
+                ouVal = val;
+            }
+        }
+        if (cnVal != null) {
+            return cnVal;
+        } else if (ouVal != null) {
+            return ouVal;
+        } else {
+            return msaVal;
+        }
+    }
+
+    public static String extractMostSignificantAttributeValue(String identifier) {
+        String attr = extractMostSignificantAttribute(identifier);
+        String[] split;
+        if (attr != null) {
+            split = attr.split("=");
+            // normalize the prefix if present
+            if (split.length == 2) {
+                return split[1].trim();
+            } else {
+                return attr.trim();
+            }
+        }
+        return attr;
+    }
+    
+    private static String normalizeAttribute(String val) {
+        String[] split;
+        String normalized = val;
+        if (null != val) {
+            split = val.split("=");
+            // normalize the prefix if present
+            if (split.length == 2) {
+                String prefix = split[0].toLowerCase().trim();
+                String value = split[1].trim();
+                normalized = prefix + "=" + value;
+            } else {
+                normalized = val.trim();
+            }
+        }
+        return normalized;
+    }
+
+    public static class DnAttribute {
+
+        private String prefix;
+        private String name;
+        private String full;
+
+        public DnAttribute(String attributeDefinition) {
+            full = attributeDefinition;
+            String[] split = attributeDefinition.split("=");
+            if (1 == split.length) {
+                this.name = split[0];
+            } else if (2 == split.length) {
+                this.prefix = split[0];
+                this.name = split[1];
+            }
+        }
+
+        public String prefix() {
+            return prefix;
+        }
+
+        public String name() {
+            return name;
+        }
+
+        public String full() {
+            return full;
+        }
+
+        @Override
+        public String toString() {
+            return this.full;
+        }
+
+    }
+
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/HandlerContext.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/HandlerContext.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/HandlerContext.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/HandlerContext.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,40 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.xkms.handlers;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class HandlerContext {
+    
+    private Map<Class<?>, Object> contextMap = new HashMap<Class<?>, Object>();
+
+    public HandlerContext() {
+    }
+
+    public <T> void set(Class<T> cClass, T cObject) {
+        contextMap.put(cClass, cObject);
+    }
+
+    @SuppressWarnings("unchecked")
+    public <T> T get(Class<T> cClass) {
+        return (T)(contextMap.get(cClass));
+    }
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/Locator.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/Locator.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/Locator.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/Locator.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,29 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.xkms.handlers;
+
+import org.apache.cxf.xkms.model.xkms.LocateRequestType;
+import org.apache.cxf.xkms.model.xkms.UnverifiedKeyBindingType;
+
+public interface Locator {
+
+    UnverifiedKeyBindingType locate(LocateRequestType request);
+
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/Register.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/Register.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/Register.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/Register.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,44 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.xkms.handlers;
+
+import org.apache.cxf.xkms.model.xkms.RecoverRequestType;
+import org.apache.cxf.xkms.model.xkms.RecoverResultType;
+import org.apache.cxf.xkms.model.xkms.RegisterRequestType;
+import org.apache.cxf.xkms.model.xkms.RegisterResultType;
+import org.apache.cxf.xkms.model.xkms.ReissueRequestType;
+import org.apache.cxf.xkms.model.xkms.ReissueResultType;
+import org.apache.cxf.xkms.model.xkms.RequestAbstractType;
+import org.apache.cxf.xkms.model.xkms.RevokeRequestType;
+import org.apache.cxf.xkms.model.xkms.RevokeResultType;
+
+public interface Register {
+
+    boolean canProcess(RequestAbstractType request);
+
+    RegisterResultType register(RegisterRequestType request, RegisterResultType response);
+
+    ReissueResultType reissue(ReissueRequestType request, ReissueResultType response);
+
+    RevokeResultType revoke(RevokeRequestType request, RevokeResultType response);
+    
+    RecoverResultType recover(RecoverRequestType request, RecoverResultType response);
+
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/Validator.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/Validator.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/Validator.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/Validator.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,29 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.xkms.handlers;
+
+import org.apache.cxf.xkms.model.xkms.StatusType;
+import org.apache.cxf.xkms.model.xkms.ValidateRequestType;
+
+public interface Validator {
+
+    StatusType validate(ValidateRequestType request);
+
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/XKMSConstants.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/XKMSConstants.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/XKMSConstants.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/handlers/XKMSConstants.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,27 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.xkms.handlers;
+
+public final class XKMSConstants {
+    public static final String XKMS_ENDPOINT_NAME = "http://cxf.apache.org/services/XKMS/";
+
+    private XKMSConstants() {
+    }
+
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/model/extensions/AdditionalClassesFactory.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/model/extensions/AdditionalClassesFactory.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/model/extensions/AdditionalClassesFactory.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/model/extensions/AdditionalClassesFactory.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,29 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.xkms.model.extensions;
+
+/**
+ * Needed for detail messages in OSGi blueprint deployment
+ */
+public class AdditionalClassesFactory {
+    public Class<?>[] create() {
+        return new Class[]{ResultDetails.class};
+    }
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/model/extensions/ClassArrayFactoryBean.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/model/extensions/ClassArrayFactoryBean.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/model/extensions/ClassArrayFactoryBean.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/model/extensions/ClassArrayFactoryBean.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,79 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.xkms.model.extensions;
+
+import java.util.List;
+
+import org.springframework.beans.factory.FactoryBean;
+
+/**
+ * Needed for detail messages in war deployment (spring)
+ */
+public class ClassArrayFactoryBean implements FactoryBean<Object> {
+
+    private List<String> classNames;
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.springframework.beans.factory.FactoryBean#getObject()
+     */
+    public Object getObject() throws Exception {
+
+        final Class<?>[] classes = new Class<?>[classNames.size()];
+        for (int i = 0; i < classNames.size(); i++) {
+            classes[i] = Class.forName(classNames.get(i));
+        }
+        return classes;
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.springframework.beans.factory.FactoryBean#getObjectType()
+     */
+    public Class<?> getObjectType() {
+        return Class[].class;
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.springframework.beans.factory.FactoryBean#isSingleton()
+     */
+    public boolean isSingleton() {
+        return true;
+    }
+
+    /**
+     * @return the classNames
+     */
+    public List<String> getClassNames() {
+        return classNames;
+    }
+
+    /**
+     * @param classNames the classNames to set
+     */
+    public void setClassNames(List<String> classNames) {
+        this.classNames = classNames;
+    }
+
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/model/extensions/ResultDetails.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/model/extensions/ResultDetails.java?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/model/extensions/ResultDetails.java (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/model/extensions/ResultDetails.java Sat Aug 10 07:52:35 2013
@@ -0,0 +1,48 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.xkms.model.extensions;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+import org.apache.cxf.xkms.model.xkms.MessageExtensionAbstractType;
+
+@XmlRootElement
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "resultDetails", propOrder = { "details" })
+public class ResultDetails extends MessageExtensionAbstractType {
+    @XmlElement(name = "Details", required = true)
+    protected String details;
+
+    public ResultDetails() {
+    }
+
+    public String getDetails() {
+        return details;
+    }
+
+    public void setDetails(String details) {
+        this.details = details;
+    }
+
+}

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/model/binding.xjb
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/model/binding.xjb?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/model/binding.xjb (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/model/binding.xjb Sat Aug 10 07:52:35 2013
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements. See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership. The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License. You may obtain a copy of the License at
+ 
+  http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied. See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<jaxb:bindings version="2.1"
+  xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
+  xmlns:wsa="http://www.w3.org/2005/08/addressing"
+  xmlns:annox="http://annox.dev.java.net"
+  jaxb:extensionBindingPrefixes="xjc">
+
+    <jaxb:globalBindings
+        typesafeEnumBase="xs:anyURI"
+        typesafeEnumMemberName="generateError"/> 
+
+    <jaxb:bindings schemaLocation="xmldsig-core-schema.xsd" node="/xs:schema">
+        <jaxb:schemaBindings>
+            <jaxb:package name="org.apache.cxf.xkms.model.xmldsig"/>
+        </jaxb:schemaBindings>
+    </jaxb:bindings>
+
+    <jaxb:bindings schemaLocation="xenc-schema.xsd" node="/xs:schema">
+        <jaxb:schemaBindings>
+            <jaxb:package name="org.apache.cxf.xkms.model.xmlenc"/>
+        </jaxb:schemaBindings>
+    </jaxb:bindings>
+
+    <jaxb:bindings schemaLocation="xkms.xsd" node="/xs:schema">
+        <jaxb:schemaBindings>
+            <jaxb:package name="org.apache.cxf.xkms.model.xkms"/>
+       </jaxb:schemaBindings>
+       <!--jaxb:bindings node="xs:complexType[@name='MessageExtensionAbstractType']">
+            <annox:annotate target="class">
+                <annox:annotate annox:class="javax.xml.bind.annotation.XmlSeeAlso" value="org.apache.cxf.xkms.model.extensions.ResultDetails.class" />
+            </annox:annotate>           
+       </jaxb:bindings-->
+    </jaxb:bindings>
+
+</jaxb:bindings>

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/model/xenc-schema.xsd
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/model/xenc-schema.xsd?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/model/xenc-schema.xsd (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/model/xenc-schema.xsd Sat Aug 10 07:52:35 2013
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+#
+# Copyright ©[2011] 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
+#
+-->
+
+<schema xmlns='http://www.w3.org/2001/XMLSchema' version='1.0'
+        xmlns:xenc='http://www.w3.org/2001/04/xmlenc#'
+        xmlns:ds='http://www.w3.org/2000/09/xmldsig#'
+        targetNamespace='http://www.w3.org/2001/04/xmlenc#'
+        elementFormDefault='qualified'>
+
+  <import namespace='http://www.w3.org/2000/09/xmldsig#'
+          schemaLocation='./xmldsig-core-schema.xsd'/>
+
+  <complexType name='EncryptedType' abstract='true'>
+    <sequence>
+      <element name='EncryptionMethod' type='xenc:EncryptionMethodType'
+       minOccurs='0'/>
+      <element ref='ds:KeyInfo' minOccurs='0'/>
+      <element ref='xenc:CipherData'/>
+      <element ref='xenc:EncryptionProperties' minOccurs='0'/>
+    </sequence>
+    <attribute name='Id' type='ID' use='optional'/>
+    <attribute name='Type' type='anyURI' use='optional'/>
+    <attribute name='MimeType' type='string' use='optional'/>
+    <attribute name='Encoding' type='anyURI' use='optional'/>
+  </complexType>
+  
+  <complexType name='EncryptionMethodType' mixed='true'>
+    <sequence>
+      <element name='KeySize' minOccurs='0' type='xenc:KeySizeType'/>
+      <element name='OAEPparams' minOccurs='0' type='base64Binary'/>
+      <!-- note that optional xenc11:MGF element may be used here for
+           RSA-OAEP, when appropriate -->
+      <any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+    </sequence>
+    <attribute name='Algorithm' type='anyURI' use='required'/>
+  </complexType>
+
+    <simpleType name='KeySizeType'>
+      <restriction base="integer"/>
+    </simpleType>
+
+  <element name='CipherData' type='xenc:CipherDataType'/>
+  <complexType name='CipherDataType'>
+     <choice>
+       <element name='CipherValue' type='base64Binary'/>
+       <element ref='xenc:CipherReference'/>
+     </choice>
+    </complexType>
+
+   <element name='CipherReference' type='xenc:CipherReferenceType'/>
+   <complexType name='CipherReferenceType'>
+       <choice>
+         <element name='Transforms' type='xenc:TransformsType' minOccurs='0'/>
+       </choice>
+       <attribute name='URI' type='anyURI' use='required'/>
+   </complexType>
+
+     <complexType name='TransformsType'>
+       <sequence>
+         <element ref='ds:Transform' maxOccurs='unbounded'/>
+       </sequence>
+     </complexType>
+
+
+  <element name='EncryptedData' type='xenc:EncryptedDataType'/>
+  <complexType name='EncryptedDataType'>
+    <complexContent>
+      <extension base='xenc:EncryptedType'>
+       </extension>
+    </complexContent>
+  </complexType>
+
+  <!-- Children of ds:KeyInfo -->
+
+  <element name='EncryptedKey' type='xenc:EncryptedKeyType'/>
+  <complexType name='EncryptedKeyType'>
+    <complexContent>
+      <extension base='xenc:EncryptedType'>
+        <sequence>
+          <element ref='xenc:ReferenceList' minOccurs='0'/>
+          <element name='CarriedKeyName' type='string' minOccurs='0'/>
+        </sequence>
+        <attribute name='Recipient' type='string'
+         use='optional'/>
+      </extension>
+    </complexContent>
+  </complexType>
+
+    <element name="AgreementMethod" type="xenc:AgreementMethodType"/>
+    <complexType name="AgreementMethodType" mixed="true">
+      <sequence>
+        <element name="KA-Nonce" minOccurs="0" type="base64Binary"/>
+        <!-- <element ref="ds:DigestMethod" minOccurs="0"/> -->
+        <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+        <element name="OriginatorKeyInfo" minOccurs="0" type="ds:KeyInfoType"/>
+        <element name="RecipientKeyInfo" minOccurs="0" type="ds:KeyInfoType"/>
+      </sequence>
+      <attribute name="Algorithm" type="anyURI" use="required"/>
+    </complexType>
+
+  <!-- End Children of ds:KeyInfo -->
+
+  <element name='ReferenceList'>
+    <complexType>
+      <choice minOccurs='1' maxOccurs='unbounded'>
+        <element name='DataReference' type='xenc:ReferenceType'/>
+        <element name='KeyReference' type='xenc:ReferenceType'/>
+      </choice>
+    </complexType>
+  </element>
+
+  <complexType name='ReferenceType'>
+    <sequence>
+      <any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+    </sequence>
+    <attribute name='URI' type='anyURI' use='required'/>
+  </complexType>
+
+
+  <element name='EncryptionProperties' type='xenc:EncryptionPropertiesType'/>
+  <complexType name='EncryptionPropertiesType'>
+    <sequence>
+      <element ref='xenc:EncryptionProperty' maxOccurs='unbounded'/>
+    </sequence>
+    <attribute name='Id' type='ID' use='optional'/>
+  </complexType>
+
+  <element name='EncryptionProperty' type='xenc:EncryptionPropertyType'/>
+  <complexType name='EncryptionPropertyType' mixed='true'>
+    <choice maxOccurs='unbounded'>
+      <any namespace='##other' processContents='lax'/>
+    </choice>
+    <attribute name='Target' type='anyURI' use='optional'/>
+    <attribute name='Id' type='ID' use='optional'/>
+    <anyAttribute namespace="http://www.w3.org/XML/1998/namespace"/>
+  </complexType>
+
+  <!-- Children of ds:KeyValue -->
+
+  <element name="DHKeyValue" type="xenc:DHKeyValueType"/>
+  <complexType name="DHKeyValueType">
+    <sequence>
+      <sequence minOccurs="0">
+        <element name="P" type="ds:CryptoBinary"/>
+        <element name="Q" type="ds:CryptoBinary"/>
+        <element name="Generator" type="ds:CryptoBinary"/>
+      </sequence>
+      <element name="Public" type="ds:CryptoBinary"/>
+      <sequence minOccurs="0">
+        <element name="seed" type="ds:CryptoBinary"/>
+        <element name="pgenCounter" type="ds:CryptoBinary"/>
+      </sequence>
+    </sequence>
+  </complexType>
+
+  <!-- End Children of ds:KeyValue -->
+  
+</schema>
+

Added: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/model/xkms.wsdl
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/model/xkms.wsdl?rev=1512574&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/model/xkms.wsdl (added)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/model/xkms.wsdl Sat Aug 10 07:52:35 2013
@@ -0,0 +1,203 @@
+<?xml version="1.0"?>
+
+<wsdl:definitions name="XMLKeyManagement"
+	targetNamespace="http://www.w3.org/2002/03/xkms#wsdl" xmlns:tns="http://www.w3.org/2002/03/xkms#wsdl"
+	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/"
+	xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xkms="http://www.w3.org/2002/03/xkms#"
+	xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+	<types>  
+		<xsd:schema>  
+          	  <xsd:import namespace="http://www.w3.org/2002/03/xkms#"
+			 schemaLocation="./xkms.xsd"/>  
+		</xsd:schema>  
+	</types>  
+	
+	<message name="PendingRequest">
+		<part name="body" element="xkms:PendingRequest" />
+	</message>
+	<message name="PendingResult">
+		<part name="body" element="xkms:Result" />
+	</message>
+	<message name="CompoundRequest">
+		<part name="body" element="xkms:CompoundRequest" />
+	</message>
+	<message name="CompoundResult">
+		<part name="body" element="xkms:CompoundResult" />
+	</message>
+	<message name="StatusRequest">
+		<part name="body" element="xkms:StatusRequest" />
+	</message>
+	<message name="StatusResult">
+		<part name="body" element="xkms:StatusResult" />
+	</message>
+	<message name="LocateRequest">
+		<part name="body" element="xkms:LocateRequest" />
+	</message>
+	<message name="LocateResult">
+		<part name="body" element="xkms:LocateResult" />
+	</message>
+	<message name="ValidateRequest">
+		<part name="body" element="xkms:ValidateRequest" />
+	</message>
+	<message name="ValidateResult">
+		<part name="body" element="xkms:ValidateResult" />
+	</message>
+	<message name="RegisterRequest">
+		<part name="body" element="xkms:RegisterRequest" />
+	</message>
+	<message name="RegisterResult">
+		<part name="body" element="xkms:RegisterResult" />
+	</message>
+	<message name="ReissueRequest">
+		<part name="body" element="xkms:ReissueRequest" />
+	</message>
+	<message name="ReissueResult">
+		<part name="body" element="xkms:ReissueResult" />
+	</message>
+	<message name="RevokeRequest">
+		<part name="body" element="xkms:RevokeRequest" />
+	</message>
+	<message name="RevokeResult">
+		<part name="body" element="xkms:RevokeResult" />
+	</message>
+	<message name="RecoverRequest">
+		<part name="body" element="xkms:RecoverRequest" />
+	</message>
+	<message name="RecoverResult">
+		<part name="body" element="xkms:RecoverResult" />
+	</message>
+
+	<portType name="XKMSPortType">
+		<operation name="Pending">
+			<input message="tns:PendingRequest" />
+			<output message="tns:PendingResult" />
+		</operation>
+		<operation name="Compound">
+			<input message="tns:CompoundRequest" />
+			<output message="tns:CompoundResult" />
+		</operation>
+		<operation name="Status">
+			<input message="tns:StatusRequest" />
+			<output message="tns:StatusResult" />
+		</operation>
+		<operation name="Locate">
+			<input message="tns:LocateRequest" />
+			<output message="tns:LocateResult" />
+		</operation>
+		<operation name="Validate">
+			<input message="tns:ValidateRequest" />
+			<output message="tns:ValidateResult" />
+		</operation>
+		<operation name="Register">
+			<input message="tns:RegisterRequest" />
+			<output message="tns:RegisterResult" />
+		</operation>
+		<operation name="Reissue">
+			<input message="tns:ReissueRequest" />
+			<output message="tns:ReissueResult" />
+		</operation>
+		<operation name="Revoke">
+			<input message="tns:RevokeRequest" />
+			<output message="tns:RevokeResult" />
+		</operation>
+		<operation name="Recover">
+			<input message="tns:RecoverRequest" />
+			<output message="tns:RecoverResult" />
+		</operation>
+	</portType>
+
+	<binding name="SOAPBinding" type="tns:XKMSPortType">
+		<wsdlsoap:binding transport="http://schemas.xmlsoap.org/soap/http"
+			style="document" />
+		<operation name="Pending">
+			<wsdlsoap:operation soapAction="" />
+			<input>
+				<wsdlsoap:body use="literal" />
+			</input>
+			<output>
+				<wsdlsoap:body use="literal" />
+			</output>
+		</operation>
+		<operation name="Compound">
+			<wsdlsoap:operation soapAction="" />
+			<input>
+				<wsdlsoap:body use="literal" />
+			</input>
+			<output>
+				<wsdlsoap:body use="literal" />
+			</output>
+		</operation>
+		<operation name="Status">
+			<wsdlsoap:operation soapAction="" />
+			<input>
+				<wsdlsoap:body use="literal" />
+			</input>
+			<output>
+				<wsdlsoap:body use="literal" />
+			</output>
+		</operation>
+		<operation name="Locate">
+			<wsdlsoap:operation soapAction="" />
+			<input>
+				<wsdlsoap:body use="literal" />
+			</input>
+			<output>
+				<wsdlsoap:body use="literal" />
+			</output>
+		</operation>
+		<operation name="Validate">
+			<wsdlsoap:operation soapAction="" />
+			<input>
+				<wsdlsoap:body use="literal" />
+			</input>
+			<output>
+				<wsdlsoap:body use="literal" />
+			</output>
+		</operation>
+		<operation name="Register">
+			<wsdlsoap:operation soapAction="" />
+			<input>
+				<wsdlsoap:body use="literal" />
+			</input>
+			<output>
+				<wsdlsoap:body use="literal" />
+			</output>
+		</operation>
+		<operation name="Reissue">
+			<wsdlsoap:operation soapAction="" />
+			<input>
+				<wsdlsoap:body use="literal" />
+			</input>
+			<output>
+				<wsdlsoap:body use="literal" />
+			</output>
+		</operation>
+		<operation name="Revoke">
+			<wsdlsoap:operation soapAction="" />
+			<input>
+				<wsdlsoap:body use="literal" />
+			</input>
+			<output>
+				<wsdlsoap:body use="literal" />
+			</output>
+		</operation>
+		<operation name="Recover">
+			<wsdlsoap:operation soapAction="" />
+			<input>
+				<wsdlsoap:body use="literal" />
+			</input>
+			<output>
+				<wsdlsoap:body use="literal" />
+			</output>
+		</operation>
+	</binding>
+
+	<service name="XKMSService">
+		<port name="XKMSPort" binding="tns:SOAPBinding">
+			<wsdlsoap:address location="http://localhost:8080/services/xkms" />
+		</port>
+	</service>
+
+</wsdl:definitions>
+



Mime
View raw message