Author: tcunning
Date: Thu Sep 29 15:27:42 2011
New Revision: 1177332

URL: http://svn.apache.org/viewvc?rev=1177332&view=rev
Log:
JUDDI-530
Add the SAP Registry JAXWS to juddi-extras, the dependency on cxf in 
juddi-client was causing build failures.

Added:
    juddi/trunk/juddi-extras/
    juddi/trunk/juddi-extras/juddi-client-extras/
    juddi/trunk/juddi-extras/juddi-client-extras/pom.xml
    juddi/trunk/juddi-extras/juddi-client-extras/src/
    juddi/trunk/juddi-extras/juddi-client-extras/src/main/
    juddi/trunk/juddi-extras/juddi-client-extras/src/main/java/
    juddi/trunk/juddi-extras/juddi-client-extras/src/main/java/org/
    juddi/trunk/juddi-extras/juddi-client-extras/src/main/java/org/apache/
    juddi/trunk/juddi-extras/juddi-client-extras/src/main/java/org/apache/juddi/
    
juddi/trunk/juddi-extras/juddi-client-extras/src/main/java/org/apache/juddi/v3/
    
juddi/trunk/juddi-extras/juddi-client-extras/src/main/java/org/apache/juddi/v3/client/
    
juddi/trunk/juddi-extras/juddi-client-extras/src/main/java/org/apache/juddi/v3/client/transport/
    
juddi/trunk/juddi-extras/juddi-client-extras/src/main/java/org/apache/juddi/v3/client/transport/SAPRegistryJAXWSTransport.java
    
juddi/trunk/juddi-extras/juddi-client-extras/src/main/java/org/apache/juddi/v3/client/transport/XMLDeclarationWritingInterceptor.java
Removed:
    
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/transport/SAPRegistryJAXWSTransport.java
    
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/transport/XMLDeclarationWritingInterceptor.java
Modified:
    juddi/trunk/juddi-client/pom.xml

Modified: juddi/trunk/juddi-client/pom.xml
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/pom.xml?rev=1177332&r1=1177331&r2=1177332&view=diff
==============================================================================
--- juddi/trunk/juddi-client/pom.xml (original)
+++ juddi/trunk/juddi-client/pom.xml Thu Sep 29 15:27:42 2011
@@ -51,22 +51,5 @@
        <artifactId>wsdl4j</artifactId>
        <version>1.6.2</version>
     </dependency>
-
-    <dependency>
-        <groupId>org.apache.cxf</groupId>
-        <artifactId>cxf-rt-frontend-jaxws</artifactId>
-        <version>${cxf.version}</version>
-    </dependency>
-    <dependency>
-        <groupId>org.apache.cxf</groupId>
-        <artifactId>cxf-rt-transports-http</artifactId>
-        <version>${cxf.version}</version>
-        <exclusions>
-            <exclusion>
-                <groupId>cglib</groupId>
-                <artifactId>cglib</artifactId>
-            </exclusion>
-       </exclusions>
-    </dependency>
   </dependencies> 
 </project>

Added: juddi/trunk/juddi-extras/juddi-client-extras/pom.xml
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-extras/juddi-client-extras/pom.xml?rev=1177332&view=auto
==============================================================================
--- juddi/trunk/juddi-extras/juddi-client-extras/pom.xml (added)
+++ juddi/trunk/juddi-extras/juddi-client-extras/pom.xml Thu Sep 29 15:27:42 
2011
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Copyright 2001-2009 The Apache Software Foundation.
+ *
+ * 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";>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.juddi</groupId>
+    <artifactId>juddi-parent</artifactId>
+    <version>3.1.2-SNAPSHOT</version>
+  </parent> 
+  <artifactId>juddi-client-extras</artifactId>
+  <packaging>bundle</packaging>
+  <name>jUDDI Client side extras</name>
+  <properties>
+    <cxf.version>2.3.6</cxf.version>
+  </properties>
+
+  <dependencies>
+    <dependency>
+       <groupId>org.apache.juddi</groupId>
+        <artifactId>juddi-client</artifactId>
+        <version>${project.parent.version}</version>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.juddi</groupId>
+        <artifactId>uddi-ws</artifactId>
+        <version>${project.parent.version}</version>
+     </dependency>
+     <dependency>
+        <groupId>commons-configuration</groupId>
+        <artifactId>commons-configuration</artifactId>
+        <version>1.6</version>
+     </dependency>
+      <dependency>
+               <groupId>javax.servlet</groupId>
+               <artifactId>servlet-api</artifactId>
+               <version>2.5</version>
+               <scope>provided</scope>
+        </dependency>
+        <dependency>
+       <groupId>wsdl4j</groupId>
+       <artifactId>wsdl4j</artifactId>
+       <version>1.6.2</version>
+    </dependency>
+
+    <dependency>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-rt-frontend-jaxws</artifactId>
+        <version>${cxf.version}</version>
+       <scope>compile</scope>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-rt-transports-http</artifactId>
+        <version>${cxf.version}</version>
+        <exclusions>
+            <exclusion>
+                <groupId>cglib</groupId>
+                <artifactId>cglib</artifactId>
+            </exclusion>
+       </exclusions>
+       <scope>compile</scope>
+    </dependency>
+  </dependencies> 
+</project>

Added: 
juddi/trunk/juddi-extras/juddi-client-extras/src/main/java/org/apache/juddi/v3/client/transport/SAPRegistryJAXWSTransport.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-extras/juddi-client-extras/src/main/java/org/apache/juddi/v3/client/transport/SAPRegistryJAXWSTransport.java?rev=1177332&view=auto
==============================================================================
--- 
juddi/trunk/juddi-extras/juddi-client-extras/src/main/java/org/apache/juddi/v3/client/transport/SAPRegistryJAXWSTransport.java
 (added)
+++ 
juddi/trunk/juddi-extras/juddi-client-extras/src/main/java/org/apache/juddi/v3/client/transport/SAPRegistryJAXWSTransport.java
 Thu Sep 29 15:27:42 2011
@@ -0,0 +1,264 @@
+/*
+ * Copyright 2001-2009 The Apache Software Foundation.
+ * 
+ * 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.apache.juddi.v3.client.transport;
+
+import java.util.Map;
+import java.util.Properties;
+
+import javax.xml.ws.BindingProvider;
+
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.juddi.v3.client.JUDDIApiService;
+import org.apache.juddi.v3.client.UDDIService;
+import org.apache.juddi.v3.client.config.Property;
+import org.apache.juddi.v3.client.config.UDDIClerkManager;
+import org.apache.juddi.v3.client.config.UDDIClientContainer;
+import org.apache.juddi.v3_service.JUDDIApiPortType;
+import org.uddi.v3_service.UDDICustodyTransferPortType;
+import org.uddi.v3_service.UDDIInquiryPortType;
+import org.uddi.v3_service.UDDIPublicationPortType;
+import org.uddi.v3_service.UDDISecurityPortType;
+import org.uddi.v3_service.UDDISubscriptionListenerPortType;
+import org.uddi.v3_service.UDDISubscriptionPortType;
+
+import org.apache.cxf.endpoint.Client;
+import org.apache.cxf.frontend.ClientProxy;
+
+/**
+ * Add a special JAXWSTransport for use with the SAP Registry.     Need to add
+ * a CXF interceptor because SAP does not like the default XML declaration.
+ * 
+ * @author Tom Cunningham <tcunn...@apache.org>
+ *
+ */
+public class SAPRegistryJAXWSTransport extends JAXWSTransport {
+       
+       public SAPRegistryJAXWSTransport() {
+               super();
+       }
+               
+       public SAPRegistryJAXWSTransport(String nodeName) {
+               super(nodeName);        
+       }
+       
+       public SAPRegistryJAXWSTransport(String managerName, String nodeName) {
+               super(managerName, nodeName);
+       }
+       
+       public UDDIInquiryPortType getUDDIInquiryService(String endpointURL) 
throws TransportException {
+
+               if (inquiryService==null) {
+                       try {
+                               if (endpointURL==null)  {
+                                       UDDIClerkManager manager = 
UDDIClientContainer.getUDDIClerkManager(managerName);
+                                       endpointURL = 
manager.getClientConfig().getUDDINode(nodeName).getInquiryUrl();
+                               }
+                               UDDIService service = new UDDIService();
+                               inquiryService = service.getUDDIInquiryPort();
+                               Map<String, Object> requestContext = 
((BindingProvider) inquiryService).getRequestContext();
+                               
requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endpointURL);
+                               setCredentials(requestContext);
+                               
+                               XMLDeclarationWritingInterceptor xmldwi = new 
XMLDeclarationWritingInterceptor();                               
+                               Client cxfClient = 
ClientProxy.getClient(inquiryService);
+                               cxfClient.getInInterceptors().add(xmldwi);
+                       } catch (Exception e) {
+                               throw new TransportException(e.getMessage(), e);
+                       }
+               }
+               return inquiryService;
+       }
+       
+       public UDDISecurityPortType getUDDISecurityService(String endpointURL) 
throws TransportException {
+
+               if (securityService==null) {
+                       try {
+                               if (endpointURL==null)  {
+                                       UDDIClerkManager manager = 
UDDIClientContainer.getUDDIClerkManager(managerName);
+                                       endpointURL = 
manager.getClientConfig().getUDDINode(nodeName).getSecurityUrl();
+                               }
+                               UDDIService service = new UDDIService();
+                               securityService = service.getUDDISecurityPort();
+                               Map<String, Object> requestContext = 
((BindingProvider) securityService).getRequestContext();
+                               
requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endpointURL);
+                               setCredentials(requestContext);
+
+                               XMLDeclarationWritingInterceptor xmldwi = new 
XMLDeclarationWritingInterceptor();                               
+                               Client cxfClient = 
ClientProxy.getClient(securityService);
+                               cxfClient.getInInterceptors().add(xmldwi);
+
+                       } catch (Exception e) {
+                               throw new TransportException(e.getMessage(), e);
+                       }
+               }
+               return securityService;
+       }
+       
+       public UDDIPublicationPortType getUDDIPublishService(String 
endpointURL) throws TransportException {
+
+               if (publishService==null) {
+                       try {
+                               if (endpointURL==null)  {
+                                       UDDIClerkManager manager = 
UDDIClientContainer.getUDDIClerkManager(managerName);
+                                       endpointURL = 
manager.getClientConfig().getUDDINode(nodeName).getPublishUrl();
+                               }
+                               UDDIService service = new UDDIService();
+                               publishService = 
service.getUDDIPublicationPort();
+                               Map<String, Object> requestContext = 
((BindingProvider) publishService).getRequestContext();
+                               
requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endpointURL);
+                               setCredentials(requestContext);
+
+                               XMLDeclarationWritingInterceptor xmldwi = new 
XMLDeclarationWritingInterceptor();                               
+                               Client cxfClient = 
ClientProxy.getClient(publishService);
+                               cxfClient.getInInterceptors().add(xmldwi);
+
+                       } catch (Exception e) {
+                               throw new TransportException(e.getMessage(), e);
+                       }
+               }
+               return publishService;
+       }
+       
+       public UDDISubscriptionPortType getUDDISubscriptionService(String 
endpointURL) throws TransportException {
+
+               if (subscriptionService==null) {
+                       try {
+                               if (endpointURL==null)  {
+                                       UDDIClerkManager manager = 
UDDIClientContainer.getUDDIClerkManager(managerName);
+                                       endpointURL = 
manager.getClientConfig().getUDDINode(nodeName).getSubscriptionUrl();
+                               }
+                               UDDIService service = new UDDIService();
+                               subscriptionService = 
service.getUDDISubscriptionPort();
+                               Map<String, Object> requestContext = 
((BindingProvider) subscriptionService).getRequestContext();
+                               
requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endpointURL);
+                               setCredentials(requestContext);
+
+                               XMLDeclarationWritingInterceptor xmldwi = new 
XMLDeclarationWritingInterceptor();                               
+                               Client cxfClient = 
ClientProxy.getClient(subscriptionService);
+                               cxfClient.getInInterceptors().add(xmldwi);
+
+                       } catch (Exception e) {
+                               throw new TransportException(e.getMessage(), e);
+                       }
+               }
+               return subscriptionService;
+       }
+       
+       public UDDISubscriptionListenerPortType 
getUDDISubscriptionListenerService(String endpointURL) throws 
TransportException {
+               if (subscriptionListenerService == null) {
+                       try {
+                               if (endpointURL==null)  {
+                                       UDDIClerkManager manager = 
UDDIClientContainer.getUDDIClerkManager(managerName);
+                                       endpointURL = 
manager.getClientConfig().getUDDINode(nodeName).getSubscriptionListenerUrl();
+                               }
+                               UDDIService service = new UDDIService();
+                               subscriptionListenerService = 
service.getUDDISubscriptionListenerPort();
+                               Map<String, Object> requestContext = 
((BindingProvider) subscriptionListenerService).getRequestContext();
+                               
requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endpointURL);
+                               setCredentials(requestContext);
+
+                               XMLDeclarationWritingInterceptor xmldwi = new 
XMLDeclarationWritingInterceptor();                               
+                               Client cxfClient = 
ClientProxy.getClient(subscriptionListenerService);
+                               cxfClient.getInInterceptors().add(xmldwi);
+
+                       } catch (Exception e) {
+                               throw new TransportException(e.getMessage(), e);
+                       }
+               }
+               return subscriptionListenerService;
+       }
+       
+       public UDDICustodyTransferPortType getUDDICustodyTransferService(String 
endpointURL) throws TransportException {
+               if (custodyTransferService == null) {
+                       try {
+                               if (endpointURL==null)  {
+                                       UDDIClerkManager manager = 
UDDIClientContainer.getUDDIClerkManager(managerName);
+                                       endpointURL = 
manager.getClientConfig().getUDDINode(nodeName).getCustodyTransferUrl();
+                               }
+                               UDDIService service = new UDDIService();
+                               custodyTransferService = 
service.getUDDICustodyPort();
+                               Map<String, Object> requestContext = 
((BindingProvider) custodyTransferService).getRequestContext();
+                               
requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endpointURL);
+                               setCredentials(requestContext);
+
+                               XMLDeclarationWritingInterceptor xmldwi = new 
XMLDeclarationWritingInterceptor();                               
+                               Client cxfClient = 
ClientProxy.getClient(custodyTransferService);
+                               cxfClient.getInInterceptors().add(xmldwi);
+
+                       } catch (Exception e) {
+                               throw new TransportException(e.getMessage(), e);
+                       }
+               }
+               return custodyTransferService;
+       }
+       
+       /**
+        * This is a jUDDI specific API
+        */
+       public JUDDIApiPortType getJUDDIApiService(String endpointURL) throws 
TransportException {
+               if (publisherService == null) {
+                       try {
+                               if (endpointURL==null)  {
+                                       UDDIClerkManager manager = 
UDDIClientContainer.getUDDIClerkManager(managerName);
+                                       endpointURL = 
manager.getClientConfig().getUDDINode(nodeName).getJuddiApiUrl();
+                               }
+                               JUDDIApiService service = new JUDDIApiService();
+                               publisherService = (JUDDIApiPortType) 
service.getPort(JUDDIApiPortType.class);
+                               Map<String, Object> requestContext = 
((BindingProvider) publisherService).getRequestContext();
+                               
requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endpointURL);
+                               setCredentials(requestContext);
+                       } catch (Exception e) {
+                               throw new TransportException(e.getMessage(), e);
+                       }
+               }
+               return publisherService;
+       }
+
+       public String getNodeName() {
+               return nodeName;
+       }
+
+       public void setNodeName(String nodeName) {
+               this.nodeName = nodeName;
+       }
+       
+       /**
+        * Sets the credentials on the RequestContext if the services are 
protected
+        * by Basic Authentication. The username and password are obtained from 
the 
+        * uddi.xml.
+        * 
+        * @param requestContext
+        * @throws ConfigurationException
+        */
+       private void setCredentials(Map<String, Object> requestContext) throws 
ConfigurationException {
+               UDDIClerkManager manager = 
UDDIClientContainer.getUDDIClerkManager(managerName);
+               Properties properties = 
manager.getClientConfig().getUDDINode(nodeName).getProperties();
+               String username = null;
+               String password = null;
+               if (properties.containsKey(Property.BASIC_AUTH_USERNAME)) {
+                       username = 
properties.getProperty(Property.BASIC_AUTH_USERNAME);
+               }
+               if (properties.containsKey(Property.BASIC_AUTH_PASSWORD)) {
+                       password = 
properties.getProperty(Property.BASIC_AUTH_PASSWORD);
+               }
+               if (username!=null && password!=null) {
+                       requestContext.put(BindingProvider.USERNAME_PROPERTY, 
username);
+                       requestContext.put(BindingProvider.PASSWORD_PROPERTY, 
password);
+               }
+       }
+
+}

Added: 
juddi/trunk/juddi-extras/juddi-client-extras/src/main/java/org/apache/juddi/v3/client/transport/XMLDeclarationWritingInterceptor.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-extras/juddi-client-extras/src/main/java/org/apache/juddi/v3/client/transport/XMLDeclarationWritingInterceptor.java?rev=1177332&view=auto
==============================================================================
--- 
juddi/trunk/juddi-extras/juddi-client-extras/src/main/java/org/apache/juddi/v3/client/transport/XMLDeclarationWritingInterceptor.java
 (added)
+++ 
juddi/trunk/juddi-extras/juddi-client-extras/src/main/java/org/apache/juddi/v3/client/transport/XMLDeclarationWritingInterceptor.java
 Thu Sep 29 15:27:42 2011
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2001-2009 The Apache Software Foundation.
+ * 
+ * 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.apache.juddi.v3.client.transport;
+
+import org.apache.cxf.binding.soap.SoapMessage;
+import org.apache.cxf.interceptor.Fault;
+import org.apache.cxf.interceptor.StaxOutInterceptor;
+import org.apache.cxf.binding.soap.interceptor.AbstractSoapInterceptor;
+import java.io.OutputStream;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+import org.apache.cxf.message.Message;
+import org.apache.cxf.phase.Phase;
+import org.apache.cxf.phase.AbstractPhaseInterceptor;
+
+/**
+ * Add a CXF interceptor to add the XML declaration.
+ * 
+ * * @author Tom Cunningham <tcunn...@apache.org>
+ *
+ */
+public class XMLDeclarationWritingInterceptor extends 
AbstractPhaseInterceptor<SoapMessage> {
+       
+    public XMLDeclarationWritingInterceptor () { 
+        super(Phase.PRE_STREAM); 
+        addBefore(StaxOutInterceptor.class.getName());
+    } 
+
+    @Override 
+    public void handleMessage(SoapMessage message) throws Fault { 
+       message.put("org.apache.cxf.stax.force-start-document", Boolean.TRUE);  
    
+    } 
+} 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@juddi.apache.org
For additional commands, e-mail: commits-h...@juddi.apache.org

Reply via email to