keycloak-uncached
Changes
examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/Product.java 42(+42 -0)
examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/ProductImpl.java 44(+44 -0)
examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/types/GetProduct.java 81(+81 -0)
examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/types/GetProductResponse.java 109(+109 -0)
examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/types/ObjectFactory.java 73(+73 -0)
examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/types/package-info.java 18(+18 -0)
examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/types/UnknownProductFault.java 81(+81 -0)
examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/UnknownProductFault.java 52(+52 -0)
examples/fuse/cxf-jaxws-fuse7-undertow/src/main/resources/OSGI-INF/blueprint/blueprint.xml 47(+47 -0)
examples/fuse/pom.xml 1(+1 -0)
Details
diff --git a/examples/fuse/cxf-jaxws-fuse7-undertow/pom.xml b/examples/fuse/cxf-jaxws-fuse7-undertow/pom.xml
new file mode 100755
index 0000000..e761979
--- /dev/null
+++ b/examples/fuse/cxf-jaxws-fuse7-undertow/pom.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright 2016 Red Hat, Inc. and/or its affiliates
+ ~ and other contributors as indicated by the @author tags.
+ ~
+ ~ Licensed 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">
+ <parent>
+ <artifactId>keycloak-examples-fuse-parent</artifactId>
+ <groupId>org.keycloak</groupId>
+ <version>4.0.0.Beta3-SNAPSHOT</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.keycloak.example.demo</groupId>
+ <artifactId>cxf-jaxws-example-fuse7-undertow</artifactId>
+ <packaging>bundle</packaging>
+ <name>CXF JAXWS Example - Secured in Karaf/Fuse 7.0 on Undertow</name>
+ <description/>
+
+ <properties>
+ <keycloak.osgi.export>
+ </keycloak.osgi.export>
+ <keycloak.osgi.import>
+ javax.jws;resolution:=optional,
+ javax.wsdl,
+ javax.xml.bind,
+ javax.xml.bind.annotation,
+ javax.xml.namespace,
+ javax.xml.ws,
+ META-INF.cxf;version="[2.7,3.3)",
+ META-INF.cxf.osgi;version="[2.7,3.3)";resolution:=optional,
+ org.apache.cxf.transport.http_undertow;version="[2.7,3.3)";resolution:=optional,
+ org.apache.cxf.transport.http_undertow.blueprint;version="[2.7,3.3)";resolution:=optional,
+ org.keycloak.*;version="${project.version}",
+ *;resolution:=optional
+ </keycloak.osgi.import>
+ <keycloak.osgi.private>
+ org.keycloak.example.ws.*
+ </keycloak.osgi.private>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-ws-metadata_2.0_spec</artifactId>
+ <version>1.1.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jaxws_2.2_spec</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ <version>2.2</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <defaultGoal>install</defaultGoal>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Bundle-Name>${project.name}</Bundle-Name>
+ <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
+ <Import-Package>${keycloak.osgi.import}</Import-Package>
+ <Private-Package>${keycloak.osgi.private}</Private-Package>
+ <Export-Package>${keycloak.osgi.export}</Export-Package>
+ </instructions>
+ </configuration>
+ </plugin>
+
+ </plugins>
+ </build>
+</project>
diff --git a/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/Product.java b/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/Product.java
new file mode 100644
index 0000000..90023ba
--- /dev/null
+++ b/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/Product.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2016 Red Hat, Inc. and/or its affiliates
+ * and other contributors as indicated by the @author tags.
+ *
+ * Licensed 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.keycloak.example.ws;
+
+import org.keycloak.example.ws.types.ObjectFactory;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebService;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.ws.RequestWrapper;
+import javax.xml.ws.ResponseWrapper;
+
+@WebService
+@XmlSeeAlso({ObjectFactory.class})
+public interface Product {
+
+ @RequestWrapper(localName = "GetProduct", className = "GetProduct")
+ @ResponseWrapper(localName = "GetProductResponse", className = "GetProductResponse")
+ @WebMethod(operationName = "GetProduct")
+ public void getProduct(
+ @WebParam(mode = WebParam.Mode.INOUT, name = "productId")
+ javax.xml.ws.Holder<String> productId,
+ @WebParam(mode = WebParam.Mode.OUT, name = "name")
+ javax.xml.ws.Holder<String> name
+ ) throws UnknownProductFault;
+}
diff --git a/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/ProductImpl.java b/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/ProductImpl.java
new file mode 100644
index 0000000..8041135
--- /dev/null
+++ b/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/ProductImpl.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2016 Red Hat, Inc. and/or its affiliates
+ * and other contributors as indicated by the @author tags.
+ *
+ * Licensed 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.keycloak.example.ws;
+
+import javax.jws.WebService;
+import javax.xml.ws.Holder;
+
+@WebService(serviceName = "ProductService", endpointInterface = "org.keycloak.example.ws.Product")
+public class ProductImpl implements Product {
+
+ public void getProduct(Holder<String> productId, Holder<String> name)
+ throws UnknownProductFault
+ {
+ if (productId.value == null || productId.value.length() == 0) {
+ org.keycloak.example.ws.types.UnknownProductFault fault = new org.keycloak.example.ws.types.UnknownProductFault();
+ fault.setProductId(productId.value);
+ throw new UnknownProductFault(null,fault);
+ } else if (productId.value.trim().equals("1")) {
+ name.value = "IPad";
+ } else if (productId.value.trim().equals("2")) {
+ name.value = "IPhone";
+ } else {
+ org.keycloak.example.ws.types.UnknownProductFault fault = new org.keycloak.example.ws.types.UnknownProductFault();
+ fault.setProductId(productId.value);
+ throw new UnknownProductFault(null,fault);
+ }
+ }
+
+}
diff --git a/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/types/GetProduct.java b/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/types/GetProduct.java
new file mode 100644
index 0000000..6e4b1c8
--- /dev/null
+++ b/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/types/GetProduct.java
@@ -0,0 +1,81 @@
+
+/*
+ * Copyright 2016 Red Hat, Inc. and/or its affiliates
+ * and other contributors as indicated by the @author tags.
+ *
+ * Licensed 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.keycloak.example.ws.types;
+
+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;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="productId" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "productId"
+})
+@XmlRootElement(name = "GetProduct")
+public class GetProduct {
+
+ @XmlElement(required = true)
+ protected String productId;
+
+ /**
+ * Gets the value of the productId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getProductId() {
+ return productId;
+ }
+
+ /**
+ * Sets the value of the productId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setProductId(String value) {
+ this.productId = value;
+ }
+
+}
diff --git a/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/types/GetProductResponse.java b/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/types/GetProductResponse.java
new file mode 100644
index 0000000..a1220c3
--- /dev/null
+++ b/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/types/GetProductResponse.java
@@ -0,0 +1,109 @@
+
+/*
+ * Copyright 2016 Red Hat, Inc. and/or its affiliates
+ * and other contributors as indicated by the @author tags.
+ *
+ * Licensed 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.keycloak.example.ws.types;
+
+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;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="productId" type="{http://www.w3.org/2001/XMLSchema}string"/>*
+ * <element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "productId",
+ "name"
+})
+@XmlRootElement(name = "GetProductResponse")
+public class GetProductResponse {
+
+ @XmlElement(required = true)
+ protected String productId;
+ @XmlElement(required = true)
+ protected String name;
+
+ /**
+ * Gets the value of the productId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getProductId() {
+ return productId;
+ }
+
+ /**
+ * Sets the value of the productId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setProductId(String value) {
+ this.productId = value;
+ }
+
+ /**
+ * Gets the value of the name property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Sets the value of the name property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setName(String value) {
+ this.name = value;
+ }
+
+}
diff --git a/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/types/ObjectFactory.java b/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/types/ObjectFactory.java
new file mode 100644
index 0000000..eef9563
--- /dev/null
+++ b/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/types/ObjectFactory.java
@@ -0,0 +1,73 @@
+
+/*
+ * Copyright 2016 Red Hat, Inc. and/or its affiliates
+ * and other contributors as indicated by the @author tags.
+ *
+ * Licensed 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.keycloak.example.ws.types;
+
+import javax.xml.bind.annotation.XmlRegistry;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the org.apache.servicemix.samples.wsdl_first.types package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.apache.servicemix.samples.wsdl_first.types
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link GetProductResponse }
+ *
+ */
+ public GetProductResponse createGetProductResponse() {
+ return new GetProductResponse();
+ }
+
+ /**
+ * Create an instance of {@link GetProduct }
+ *
+ */
+ public GetProduct createGetProduct() {
+ return new GetProduct();
+ }
+
+ /**
+ * Create an instance of {@link UnknownProductFault }
+ *
+ */
+ public UnknownProductFault createUnknownProductFault() {
+ return new UnknownProductFault();
+ }
+
+}
diff --git a/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/types/package-info.java b/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/types/package-info.java
new file mode 100644
index 0000000..4fd528b
--- /dev/null
+++ b/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/types/package-info.java
@@ -0,0 +1,18 @@
+/*
+ * Copyright 2016 Red Hat, Inc. and/or its affiliates
+ * and other contributors as indicated by the @author tags.
+ *
+ * Licensed 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.keycloak.example.ws.types;
diff --git a/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/types/UnknownProductFault.java b/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/types/UnknownProductFault.java
new file mode 100644
index 0000000..862239d
--- /dev/null
+++ b/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/types/UnknownProductFault.java
@@ -0,0 +1,81 @@
+
+/*
+ * Copyright 2016 Red Hat, Inc. and/or its affiliates
+ * and other contributors as indicated by the @author tags.
+ *
+ * Licensed 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.keycloak.example.ws.types;
+
+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;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="productId" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "productId"
+})
+@XmlRootElement(name = "UnknownProductFault")
+public class UnknownProductFault {
+
+ @XmlElement(required = true)
+ protected String productId;
+
+ /**
+ * Gets the value of the productId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getProductId() {
+ return productId;
+ }
+
+ /**
+ * Sets the value of the productId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setProductId(String value) {
+ this.productId = value;
+ }
+
+}
diff --git a/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/UnknownProductFault.java b/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/UnknownProductFault.java
new file mode 100644
index 0000000..da7ceb1
--- /dev/null
+++ b/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/java/org/keycloak/example/ws/UnknownProductFault.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2016 Red Hat, Inc. and/or its affiliates
+ * and other contributors as indicated by the @author tags.
+ *
+ * Licensed 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.keycloak.example.ws;
+
+import javax.xml.ws.WebFault;
+
+@WebFault(name = "UnknownProductFault")
+public class UnknownProductFault extends Exception {
+
+ private org.keycloak.example.ws.types.UnknownProductFault unknownProductFault;
+
+ public UnknownProductFault() {
+ super();
+ }
+
+ public UnknownProductFault(String message) {
+ super(message);
+ }
+
+ public UnknownProductFault(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public UnknownProductFault(String message, org.keycloak.example.ws.types.UnknownProductFault unknownProductFault) {
+ super(message);
+ this.unknownProductFault = unknownProductFault;
+ }
+
+ public UnknownProductFault(String message, org.keycloak.example.ws.types.UnknownProductFault unknownProductFault, Throwable cause) {
+ super(message, cause);
+ this.unknownProductFault = unknownProductFault;
+ }
+
+ public org.keycloak.example.ws.types.UnknownProductFault getFaultInfo() {
+ return this.unknownProductFault;
+ }
+}
diff --git a/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/resources/OSGI-INF/blueprint/blueprint.xml
new file mode 100644
index 0000000..8acae94
--- /dev/null
+++ b/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright 2016 Red Hat, Inc. and/or its affiliates
+ ~ and other contributors as indicated by the @author tags.
+ ~
+ ~ Licensed 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.
+ -->
+
+<!-- Generated by Apache ServiceMix Archetype -->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:jaxws="http://cxf.apache.org/blueprint/jaxws"
+ xmlns:cxf="http://cxf.apache.org/blueprint/core"
+ xmlns:httpu="http://cxf.apache.org/transports/http-undertow/configuration"
+ xsi:schemaLocation="
+ http://cxf.apache.org/transports/http-undertow/configuration http://cxf.apache.org/schemas/configuration/http-undertow.xsd
+ http://cxf.apache.org/blueprint/core http://cxf.apache.org/schemas/blueprint/core.xsd
+ http://cxf.apache.org/blueprint/jaxws http://cxf.apache.org/schemas/blueprint/jaxws.xsd">
+
+ <bean id="keycloakConfigResolver" class="org.keycloak.adapters.osgi.BundleBasedKeycloakConfigResolver" >
+ <property name="bundleContext" ref="blueprintBundleContext" />
+ </bean>
+
+ <httpu:engine-factory bus="cxf" id="kc-cxf-endpoint">
+ <httpu:engine port="8282">
+ <httpu:handlers>
+ <bean class="org.keycloak.adapters.osgi.undertow.CxfKeycloakAuthHandler">
+ <property name="configResolver" ref="keycloakConfigResolver" />
+ </bean>
+ </httpu:handlers>
+ </httpu:engine>
+ </httpu:engine-factory>
+
+ <jaxws:endpoint implementor="org.keycloak.example.ws.ProductImpl"
+ address="http://localhost:8282/ProductServiceCF" depends-on="kc-cxf-endpoint"/>
+
+</blueprint>
\ No newline at end of file
diff --git a/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/resources/WEB-INF/keycloak.json b/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/resources/WEB-INF/keycloak.json
new file mode 100644
index 0000000..e4caeb2
--- /dev/null
+++ b/examples/fuse/cxf-jaxws-fuse7-undertow/src/main/resources/WEB-INF/keycloak.json
@@ -0,0 +1,7 @@
+{
+ "realm": "demo",
+ "resource": "custom-cxf-endpoint",
+ "bearer-only": "true",
+ "auth-server-url": "http://localhost:8080/auth",
+ "ssl-required" : "external"
+}
examples/fuse/pom.xml 1(+1 -0)
diff --git a/examples/fuse/pom.xml b/examples/fuse/pom.xml
index d2131b4..119cb24 100755
--- a/examples/fuse/pom.xml
+++ b/examples/fuse/pom.xml
@@ -39,6 +39,7 @@
<module>cxf-jaxrs</module>
<module>cxf-jaxrs-fuse7-undertow</module>
<module>cxf-jaxws</module>
+ <module>cxf-jaxws-fuse7-undertow</module>
<module>camel</module>
<module>features</module>
<module>external-config</module>