juddi-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From alexo...@apache.org
Subject svn commit: r1557924 - in /juddi/trunk: juddi-client/src/main/java/org/apache/juddi/v3/client/config/ juddi-examples/ juddi-examples/simple-publish-clerk/ juddi-examples/simple-publish-clerk/src/ juddi-examples/simple-publish-clerk/src/main/ juddi-exam...
Date Tue, 14 Jan 2014 03:39:40 GMT
Author: alexoree
Date: Tue Jan 14 03:39:39 2014
New Revision: 1557924

URL: http://svn.apache.org/r1557924
Log:
JUDDI-788 code part is done

Added:
    juddi/trunk/juddi-examples/simple-publish-clerk/
    juddi/trunk/juddi-examples/simple-publish-clerk/README.txt
    juddi/trunk/juddi-examples/simple-publish-clerk/pom.xml
    juddi/trunk/juddi-examples/simple-publish-clerk/src/
    juddi/trunk/juddi-examples/simple-publish-clerk/src/main/
    juddi/trunk/juddi-examples/simple-publish-clerk/src/main/java/
    juddi/trunk/juddi-examples/simple-publish-clerk/src/main/java/org/
    juddi/trunk/juddi-examples/simple-publish-clerk/src/main/java/org/apache/
    juddi/trunk/juddi-examples/simple-publish-clerk/src/main/java/org/apache/juddi/
    juddi/trunk/juddi-examples/simple-publish-clerk/src/main/java/org/apache/juddi/example/
    juddi/trunk/juddi-examples/simple-publish-clerk/src/main/java/org/apache/juddi/example/publish/
    juddi/trunk/juddi-examples/simple-publish-clerk/src/main/java/org/apache/juddi/example/publish/SimplePublishClerk.java
    juddi/trunk/juddi-examples/simple-publish-clerk/src/main/resources/
    juddi/trunk/juddi-examples/simple-publish-clerk/src/main/resources/META-INF/
    juddi/trunk/juddi-examples/simple-publish-clerk/src/main/resources/META-INF/uddi.xml
    juddi/trunk/juddi-examples/simple-publish-clerk/src/test/
    juddi/trunk/juddi-examples/simple-publish-clerk/src/test/java/
    juddi/trunk/juddi-examples/simple-publish-clerk/src/test/resources/
    juddi/trunk/juddi-examples/simple-publish-portable/
    juddi/trunk/juddi-examples/simple-publish-portable/README.txt
    juddi/trunk/juddi-examples/simple-publish-portable/pom.xml
    juddi/trunk/juddi-examples/simple-publish-portable/src/
    juddi/trunk/juddi-examples/simple-publish-portable/src/main/
    juddi/trunk/juddi-examples/simple-publish-portable/src/main/java/
    juddi/trunk/juddi-examples/simple-publish-portable/src/main/java/org/
    juddi/trunk/juddi-examples/simple-publish-portable/src/main/java/org/apache/
    juddi/trunk/juddi-examples/simple-publish-portable/src/main/java/org/apache/juddi/
    juddi/trunk/juddi-examples/simple-publish-portable/src/main/java/org/apache/juddi/example/
    juddi/trunk/juddi-examples/simple-publish-portable/src/main/java/org/apache/juddi/example/publish/
    juddi/trunk/juddi-examples/simple-publish-portable/src/main/java/org/apache/juddi/example/publish/SimplePublishPortable.java
    juddi/trunk/juddi-examples/simple-publish-portable/src/main/resources/
    juddi/trunk/juddi-examples/simple-publish-portable/src/main/resources/META-INF/
    juddi/trunk/juddi-examples/simple-publish-portable/src/main/resources/META-INF/uddi.xml
    juddi/trunk/juddi-examples/simple-publish-portable/src/test/
    juddi/trunk/juddi-examples/simple-publish-portable/src/test/java/
    juddi/trunk/juddi-examples/simple-publish-portable/src/test/resources/
Removed:
    juddi/trunk/juddi-examples/simple-publish/
Modified:
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
    juddi/trunk/juddi-examples/pom.xml

Modified: juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java?rev=1557924&r1=1557923&r2=1557924&view=diff
==============================================================================
--- juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
(original)
+++ juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
Tue Jan 14 03:39:39 2014
@@ -484,7 +484,7 @@ public class UDDIClerk implements Serial
 
         /**
          * Register a service, using the node of current clerk ('this'). Note,
-         * if registration fails, no exception is thrown
+         * if registration fails, no exception is thrown and null is returned
          *
          * @param service
          * @return
@@ -501,7 +501,7 @@ public class UDDIClerk implements Serial
          * @param service the element returned by the server, it may be modified
          * from the original
          * @param node
-         * @return the potentially modified service by the UDDI server
+         * @return the potentially modified service by the UDDI server or NULL if save failed
          */
         public BusinessService register(BusinessService service, Node node) {
 
@@ -531,7 +531,7 @@ public class UDDIClerk implements Serial
          * registers a UDDI business. This is a convenience wrapper
          *
          * @param business
-         * @return a possibility modified business entity as registered
+         * @return a possibility modified business entity as registered or NULL if the save
failed
          */
         public BusinessEntity register(BusinessEntity business) {
                 return register(business, this.getUDDINode().getApiNode());
@@ -543,7 +543,7 @@ public class UDDIClerk implements Serial
          *
          * @param business
          * @param node
-         * @return a possibility modified business entity as registered
+         * @return a possibility modified business entity as registered or NULL if the save
failed
          */
         public BusinessEntity register(BusinessEntity business, Node node) {
 

Modified: juddi/trunk/juddi-examples/pom.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/pom.xml?rev=1557924&r1=1557923&r2=1557924&view=diff
==============================================================================
--- juddi/trunk/juddi-examples/pom.xml (original)
+++ juddi/trunk/juddi-examples/pom.xml Tue Jan 14 03:39:39 2014
@@ -22,20 +22,21 @@
 	<artifactId>juddi-examples</artifactId>
 	<name>jUDDI Examples</name>
 	<packaging>pom</packaging>
-	 <prerequisites>
-      <maven>3.0.3</maven>
-    </prerequisites>
-    <modules>
-       <module>create-partition</module>
-       <module>hello-world</module>
-       <module>hello-world-embedded</module>
-       <module>simple-browse</module>
-       <module>simple-publish</module>
-       <module>uddi-annotations</module>
-       <module>wsdl2uddi</module>
-       <module>wsdl2uddi-lifecyle</module>
-    <module>subscription-notification-amqp</module>
-    <module>more-uddi-samples</module>
-    <module>service-version</module>
-  </modules>
+	<prerequisites>
+		<maven>3.0.3</maven>
+	</prerequisites>
+	<modules>
+		<module>create-partition</module>
+		<module>hello-world</module>
+		<module>hello-world-embedded</module>
+		<module>simple-browse</module>
+		<module>simple-publish-portable</module>
+		<module>simple-publish-clerk</module>
+		<module>uddi-annotations</module>
+		<module>wsdl2uddi</module>
+		<module>wsdl2uddi-lifecyle</module>
+		<module>subscription-notification-amqp</module>
+		<module>more-uddi-samples</module>
+		<module>service-version</module>
+	</modules>
 </project>
\ No newline at end of file

Added: juddi/trunk/juddi-examples/simple-publish-clerk/README.txt
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/simple-publish-clerk/README.txt?rev=1557924&view=auto
==============================================================================
--- juddi/trunk/juddi-examples/simple-publish-clerk/README.txt (added)
+++ juddi/trunk/juddi-examples/simple-publish-clerk/README.txt Tue Jan 14 03:39:39 2014
@@ -0,0 +1,19 @@
+This example is a command line demonstration of how to interact with UDDI.
+
+Specifically, this code shows you how to perform the same functions as simple-publish-portable,
however using much less code by utilizing the UDDIClerk and UDDIClient functions.
+
+1. Start the jUDDI-server (juddi-tomcat or juddi-bundle)
+
+2. Check the settings of the META-INF/uddi.xml, to make sure the serverName and serverPort
are set correctly.
+
+3. mvn -Pdemo test
+
+You should see the following output being written to the console:
+
+root AUTHTOKEN = authtoken:0494e382-1ad3-4c52-8806-ae70a0ed37ad
+myPub AUTHTOKEN = authtoken:bf973e5f-7361-4c57-92f7-7b499b886b6d
+myBusiness key:  uddi:juddi.apache.org:6f3e4e62-e483-48ff-a1b3-6855310505c6
+myService key:  uddi:juddi.apache.org:549a9580-cd7b-4969-9b77-527ab9f8f261
+
+However since the keys are being generated in this case your keys will differ.
+

Added: juddi/trunk/juddi-examples/simple-publish-clerk/pom.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/simple-publish-clerk/pom.xml?rev=1557924&view=auto
==============================================================================
--- juddi/trunk/juddi-examples/simple-publish-clerk/pom.xml (added)
+++ juddi/trunk/juddi-examples/simple-publish-clerk/pom.xml Tue Jan 14 03:39:39 2014
@@ -0,0 +1,69 @@
+<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.example</groupId>
+     <artifactId>juddi-examples</artifactId>
+     <version>3.2.0-SNAPSHOT</version>
+     <relativePath>../pom.xml</relativePath>
+  </parent>
+  <artifactId>simple-publish-clerk</artifactId>
+  <name>jUDDI Example Simple Publish using clerks</name>
+  <description>Demonstrates the steps taken to publish a service using the UDDI</description>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.juddi</groupId>
+      <artifactId>uddi-ws</artifactId>
+      <version>3.2.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.juddi</groupId>
+      <artifactId>juddi-client</artifactId>
+      <version>3.2.0-SNAPSHOT</version>
+    </dependency>
+  </dependencies>
+  
+    <profiles>
+        <profile>
+            <id>default</id>
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <configuration>
+                            <skip>true</skip>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>demo</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>exec-maven-plugin</artifactId>
+                        <version>1.1.1</version>
+                        <executions>
+                            <execution>
+                                <phase>test</phase>
+                                <goals>
+                                    <goal>java</goal>
+                                </goals>
+                                <configuration>
+                                    <mainClass>org.apache.juddi.example.publish.SimplePublishClerk</mainClass>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+</project>
+

Added: juddi/trunk/juddi-examples/simple-publish-clerk/src/main/java/org/apache/juddi/example/publish/SimplePublishClerk.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/simple-publish-clerk/src/main/java/org/apache/juddi/example/publish/SimplePublishClerk.java?rev=1557924&view=auto
==============================================================================
--- juddi/trunk/juddi-examples/simple-publish-clerk/src/main/java/org/apache/juddi/example/publish/SimplePublishClerk.java
(added)
+++ juddi/trunk/juddi-examples/simple-publish-clerk/src/main/java/org/apache/juddi/example/publish/SimplePublishClerk.java
Tue Jan 14 03:39:39 2014
@@ -0,0 +1,125 @@
+/*
+ * Copyright 2001-2010 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.example.publish;
+
+import org.uddi.api_v3.*;
+import org.apache.juddi.api_v3.*;
+import org.apache.juddi.v3.client.config.UDDIClerk;
+import org.apache.juddi.v3.client.config.UDDIClient;
+import org.apache.juddi.v3.client.transport.Transport;
+import org.uddi.v3_service.UDDISecurityPortType;
+import org.uddi.v3_service.UDDIPublicationPortType;
+import org.apache.juddi.v3_service.JUDDIApiPortType;
+
+/**
+ * This shows you to interact with a UDDI server by publishing a Business,
+ * Service and Binding Template. It uses code that is specific to the jUDDI
+ * client jar's and represents an easier, simpler way to do things. (UDDIClient
+ * and UDDIClerk classes). Credentials and URLs are all set via uddi.xml
+ */
+public class SimplePublishClerk {
+
+        private static UDDISecurityPortType security = null;
+        private static JUDDIApiPortType juddiApi = null;
+        private static UDDIPublicationPortType publish = null;
+
+        private static UDDIClerk clerk = null;
+
+        public SimplePublishClerk() {
+                try {
+                        // create a client and read the config in the archive; 
+                        // you can use your config file name
+                        UDDIClient uddiClient = new UDDIClient("META-INF/uddi.xml");
+                        clerk = uddiClient.getClerk("default");
+                        // a UddiClient can be a client to multiple UDDI nodes, so 
+                        // supply the nodeName (defined in your uddi.xml.
+                        // The transport can be WS, inVM, RMI etc which is defined in the
uddi.xml
+                        Transport transport = uddiClient.getTransport("default");
+                        // Now you create a reference to the UDDI API
+                        security = transport.getUDDISecurityService();
+                        juddiApi = transport.getJUDDIApiService();
+                        publish = transport.getUDDIPublishService();
+                } catch (Exception e) {
+                        e.printStackTrace();
+                }
+        }
+
+        /**
+         * This function shows you how to publish to UDDI using a fairly generic
+         * mechanism that should be portable (meaning use any UDDI v3 library
+         * with this code)
+         */
+        public void publish() {
+                try {
+
+                        // Creating the parent business entity that will contain our service.
+                        BusinessEntity myBusEntity = new BusinessEntity();
+                        Name myBusName = new Name();
+                        myBusName.setValue("My Business");
+                        myBusEntity.getName().add(myBusName);
+                        // Adding the business entity to the "save" structure, using our
publisher's authentication info and saving away.
+                        BusinessEntity register = clerk.register(myBusEntity);
+                        if (register == null) {
+                                System.out.println("Save failed!");
+                                System.exit(1);
+                        }
+                        String myBusKey = register.getBusinessKey();
+                        System.out.println("myBusiness key:  " + myBusKey);
+
+                        // Creating a service to save.  Only adding the minimum data: the
parent business key retrieved from saving the business 
+                        // above and a single name.
+                        BusinessService myService = new BusinessService();
+                        myService.setBusinessKey(myBusKey);
+                        Name myServName = new Name();
+                        myServName.setValue("My Service");
+                        myService.getName().add(myServName);
+
+                        // Add binding templates, etc...
+                        BindingTemplate myBindingTemplate = new BindingTemplate();
+                        AccessPoint accessPoint = new AccessPoint();
+                        accessPoint.setUseType(AccessPointType.WSDL_DEPLOYMENT.toString());
+                        accessPoint.setValue("http://example.org/services/myservice?wsdl");
+                        myBindingTemplate.setAccessPoint(accessPoint);
+                        BindingTemplates myBindingTemplates = new BindingTemplates();
+                        //optional but recommended step, this annotations our binding with
all the standard SOAP tModel instance infos
+                        myBindingTemplate = UDDIClient.addSOAPtModels(myBindingTemplate);
+                        myBindingTemplates.getBindingTemplate().add(myBindingTemplate);
+                        myService.setBindingTemplates(myBindingTemplates);
+                        // Adding the service to the "save" structure, using our publisher's
authentication info and saving away.
+                        BusinessService svc = clerk.register(myService);
+                        if (svc==null){
+                                System.out.println("Save failed!");
+                                System.exit(1);
+                        }
+                        
+                        String myServKey = svc.getServiceKey();
+                        System.out.println("myService key:  " + myServKey);
+
+                        clerk.discardAuthToken();
+                        // Now you have a business and service via 
+                        // the jUDDI API!
+
+                } catch (Exception e) {
+                        e.printStackTrace();
+                }
+        }
+
+        public static void main(String args[]) {
+                SimplePublishClerk sp = new SimplePublishClerk();
+                sp.publish();
+        }
+}

Added: juddi/trunk/juddi-examples/simple-publish-clerk/src/main/resources/META-INF/uddi.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/simple-publish-clerk/src/main/resources/META-INF/uddi.xml?rev=1557924&view=auto
==============================================================================
--- juddi/trunk/juddi-examples/simple-publish-clerk/src/main/resources/META-INF/uddi.xml (added)
+++ juddi/trunk/juddi-examples/simple-publish-clerk/src/main/resources/META-INF/uddi.xml Tue
Jan 14 03:39:39 2014
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<uddi xmlns="urn:juddi-apache-org:v3_client" xsi:schemaLocation="classpath:/xsd/uddi-client.xsd">
+    <reloadDelay>5000</reloadDelay>
+    <client name="example-client">
+		<nodes>
+			<node>
+			    <!-- required 'default' node -->
+				<name>default</name> 
+                <properties>
+                    <property name="serverName" value="localhost"/>
+                    <property name="serverPort" value="8080"/>
+					<!-- for UDDI nodes that use HTTP u/p, using the following 
+					<property name="basicAuthUsername" value="root" />
+					<property name="basicAuthPassword" value="password" />
+					<property name="basicAuthPasswordIsEncrypted" value="false" />
+					<property name="basicAuthPasswordCryptoProvider" value="org.apache.juddi.v3.client.crypto.AES128Cryptor
(an example)" />-->
+                </properties>
+				<description>Main jUDDI node</description>
+				<!-- JAX-WS Transport -->
+				<proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
+				<custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer</custodyTransferUrl>
+				<inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry</inquiryUrl>
+				<inquiryRESTUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiryRest</inquiryRESTUrl>
+		        <publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish</publishUrl>
+		        <securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security</securityUrl>
+				<subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription</subscriptionUrl>
+				<subscriptionListenerUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription-listener</subscriptionListenerUrl>
+				<juddiApiUrl>http://${serverName}:${serverPort}/juddiv3/services/juddi-api</juddiApiUrl>
+			</node>
+		</nodes>
+	</client>
+</uddi>

Added: juddi/trunk/juddi-examples/simple-publish-portable/README.txt
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/simple-publish-portable/README.txt?rev=1557924&view=auto
==============================================================================
--- juddi/trunk/juddi-examples/simple-publish-portable/README.txt (added)
+++ juddi/trunk/juddi-examples/simple-publish-portable/README.txt Tue Jan 14 03:39:39 2014
@@ -0,0 +1,19 @@
+This example is a command line demonstration of how to interact with UDDI.
+
+Specifically, this code gives you a fairly vanilla mechanism for interaction with any UDDIv3
server.
+
+1. Start the jUDDI-server (juddi-tomcat or juddi-bundle)
+
+2. Check the settings of the META-INF/uddi.xml, to make sure the serverName and serverPort
are set correctly.
+
+3. mvn -Pdemo test
+
+You should see the following output being written to the console:
+
+root AUTHTOKEN = authtoken:0494e382-1ad3-4c52-8806-ae70a0ed37ad
+myPub AUTHTOKEN = authtoken:bf973e5f-7361-4c57-92f7-7b499b886b6d
+myBusiness key:  uddi:juddi.apache.org:6f3e4e62-e483-48ff-a1b3-6855310505c6
+myService key:  uddi:juddi.apache.org:549a9580-cd7b-4969-9b77-527ab9f8f261
+
+However since the keys are being generated in this case your keys will differ.
+

Added: juddi/trunk/juddi-examples/simple-publish-portable/pom.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/simple-publish-portable/pom.xml?rev=1557924&view=auto
==============================================================================
--- juddi/trunk/juddi-examples/simple-publish-portable/pom.xml (added)
+++ juddi/trunk/juddi-examples/simple-publish-portable/pom.xml Tue Jan 14 03:39:39 2014
@@ -0,0 +1,69 @@
+<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.example</groupId>
+     <artifactId>juddi-examples</artifactId>
+     <version>3.2.0-SNAPSHOT</version>
+     <relativePath>../pom.xml</relativePath>
+  </parent>
+  <artifactId>simple-publish-portable</artifactId>
+  <name>jUDDI Example Simple Publish Portable</name>
+  <description>Demonstrates the steps taken to publish a service using the UDDI in
a portable manner</description>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.juddi</groupId>
+      <artifactId>uddi-ws</artifactId>
+      <version>3.2.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.juddi</groupId>
+      <artifactId>juddi-client</artifactId>
+      <version>3.2.0-SNAPSHOT</version>
+    </dependency>
+  </dependencies>
+  
+    <profiles>
+        <profile>
+            <id>default</id>
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <configuration>
+                            <skip>true</skip>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>demo</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>exec-maven-plugin</artifactId>
+                        <version>1.1.1</version>
+                        <executions>
+                            <execution>
+                                <phase>test</phase>
+                                <goals>
+                                    <goal>java</goal>
+                                </goals>
+                                <configuration>
+                                    <mainClass>org.apache.juddi.example.publish.SimplePublishPortable</mainClass>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+</project>
+

Added: juddi/trunk/juddi-examples/simple-publish-portable/src/main/java/org/apache/juddi/example/publish/SimplePublishPortable.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/simple-publish-portable/src/main/java/org/apache/juddi/example/publish/SimplePublishPortable.java?rev=1557924&view=auto
==============================================================================
--- juddi/trunk/juddi-examples/simple-publish-portable/src/main/java/org/apache/juddi/example/publish/SimplePublishPortable.java
(added)
+++ juddi/trunk/juddi-examples/simple-publish-portable/src/main/java/org/apache/juddi/example/publish/SimplePublishPortable.java
Tue Jan 14 03:39:39 2014
@@ -0,0 +1,129 @@
+/*
+ * Copyright 2001-2010 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.example.publish;
+
+import org.uddi.api_v3.*;
+import org.apache.juddi.api_v3.*;
+import org.apache.juddi.v3.client.config.UDDIClient;
+import org.apache.juddi.v3.client.transport.Transport;
+import org.uddi.v3_service.UDDISecurityPortType;
+import org.uddi.v3_service.UDDIPublicationPortType;
+import org.apache.juddi.v3_service.JUDDIApiPortType;
+
+/**
+ * This shows you to interact with a UDDI server by publishing a Business,
+ * Service and Binding Template. It uses some fairly generic code that should be
+ * mostly portable to any other UDDI client library and is therefore consider
+ * "portable". URLs are set in uddi.xml
+ *
+ */
+public class SimplePublishPortable {
+
+        private static UDDISecurityPortType security = null;
+        private static JUDDIApiPortType juddiApi = null;
+        private static UDDIPublicationPortType publish = null;
+
+        public SimplePublishPortable() {
+                try {
+                        // create a client and read the config in the archive; 
+                        // you can use your config file name
+                        UDDIClient uddiClient = new UDDIClient("META-INF/uddi.xml");
+                        // a UddiClient can be a client to multiple UDDI nodes, so 
+                        // supply the nodeName (defined in your uddi.xml.
+                        // The transport can be WS, inVM, RMI etc which is defined in the
uddi.xml
+                        Transport transport = uddiClient.getTransport("default");
+                        // Now you create a reference to the UDDI API
+                        security = transport.getUDDISecurityService();
+                        juddiApi = transport.getJUDDIApiService();
+                        publish = transport.getUDDIPublishService();
+                } catch (Exception e) {
+                        e.printStackTrace();
+                }
+        }
+
+        /**
+         * This function shows you how to publish to UDDI using a fairly generic
+         * mechanism that should be portable (meaning use any UDDI v3 library
+         * with this code)
+         */
+        public void publish() {
+                try {
+
+                        // Login aka retrieve its authentication token
+                        GetAuthToken getAuthTokenMyPub = new GetAuthToken();
+                        getAuthTokenMyPub.setUserID("uddi");                    //your username
+                        getAuthTokenMyPub.setCred("");                          //your password
+                        AuthToken myPubAuthToken = security.getAuthToken(getAuthTokenMyPub);
+                        System.out.println("myPub AUTHTOKEN = " + "******* never log auth
tokens!");
+
+                        // Creating the parent business entity that will contain our service.
+                        BusinessEntity myBusEntity = new BusinessEntity();
+                        Name myBusName = new Name();
+                        myBusName.setValue("My Business");
+                        myBusEntity.getName().add(myBusName);
+
+                        // Adding the business entity to the "save" structure, using our
publisher's authentication info and saving away.
+                        SaveBusiness sb = new SaveBusiness();
+                        sb.getBusinessEntity().add(myBusEntity);
+                        sb.setAuthInfo(myPubAuthToken.getAuthInfo());
+                        BusinessDetail bd = publish.saveBusiness(sb);
+                        String myBusKey = bd.getBusinessEntity().get(0).getBusinessKey();
+                        System.out.println("myBusiness key:  " + myBusKey);
+
+                        // Creating a service to save.  Only adding the minimum data: the
parent business key retrieved from saving the business 
+                        // above and a single name.
+                        BusinessService myService = new BusinessService();
+                        myService.setBusinessKey(myBusKey);
+                        Name myServName = new Name();
+                        myServName.setValue("My Service");
+                        myService.getName().add(myServName);
+
+                        // Add binding templates, etc...
+                        BindingTemplate myBindingTemplate = new BindingTemplate();
+                        AccessPoint accessPoint = new AccessPoint();
+                        accessPoint.setUseType(AccessPointType.WSDL_DEPLOYMENT.toString());
+                        accessPoint.setValue("http://example.org/services/myservice?wsdl");
+                        myBindingTemplate.setAccessPoint(accessPoint);
+                        BindingTemplates myBindingTemplates = new BindingTemplates();
+                        //optional but recommended step, this annotations our binding with
all the standard SOAP tModel instance infos
+                        myBindingTemplate = UDDIClient.addSOAPtModels(myBindingTemplate);
+                        myBindingTemplates.getBindingTemplate().add(myBindingTemplate);
+
+                        myService.setBindingTemplates(myBindingTemplates);
+
+                        // Adding the service to the "save" structure, using our publisher's
authentication info and saving away.
+                        SaveService ss = new SaveService();
+                        ss.getBusinessService().add(myService);
+                        ss.setAuthInfo(myPubAuthToken.getAuthInfo());
+                        ServiceDetail sd = publish.saveService(ss);
+                        String myServKey = sd.getBusinessService().get(0).getServiceKey();
+                        System.out.println("myService key:  " + myServKey);
+
+                        security.discardAuthToken(new DiscardAuthToken(myPubAuthToken.getAuthInfo()));
+                        // Now you have published a business and service via 
+                        // the jUDDI API!
+
+                } catch (Exception e) {
+                        e.printStackTrace();
+                }
+        }
+
+        public static void main(String args[]) {
+                SimplePublishPortable sp = new SimplePublishPortable();
+                sp.publish();
+        }
+}

Added: juddi/trunk/juddi-examples/simple-publish-portable/src/main/resources/META-INF/uddi.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/simple-publish-portable/src/main/resources/META-INF/uddi.xml?rev=1557924&view=auto
==============================================================================
--- juddi/trunk/juddi-examples/simple-publish-portable/src/main/resources/META-INF/uddi.xml
(added)
+++ juddi/trunk/juddi-examples/simple-publish-portable/src/main/resources/META-INF/uddi.xml
Tue Jan 14 03:39:39 2014
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<uddi xmlns="urn:juddi-apache-org:v3_client" xsi:schemaLocation="classpath:/xsd/uddi-client.xsd">
+    <reloadDelay>5000</reloadDelay>
+    <client name="example-client">
+		<nodes>
+			<node>
+			    <!-- required 'default' node -->
+				<name>default</name> 
+                <properties>
+                    <property name="serverName" value="localhost"/>
+                    <property name="serverPort" value="8080"/>
+					<!-- for UDDI nodes that use HTTP u/p, using the following 
+					<property name="basicAuthUsername" value="root" />
+					<property name="basicAuthPassword" value="password" />
+					<property name="basicAuthPasswordIsEncrypted" value="false" />
+					<property name="basicAuthPasswordCryptoProvider" value="org.apache.juddi.v3.client.crypto.AES128Cryptor
(an example)" />-->
+                </properties>
+				<description>Main jUDDI node</description>
+				<!-- JAX-WS Transport -->
+				<proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
+				<custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer</custodyTransferUrl>
+				<inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry</inquiryUrl>
+				<inquiryRESTUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiryRest</inquiryRESTUrl>
+		        <publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish</publishUrl>
+		        <securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security</securityUrl>
+				<subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription</subscriptionUrl>
+				<subscriptionListenerUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription-listener</subscriptionListenerUrl>
+				<juddiApiUrl>http://${serverName}:${serverPort}/juddiv3/services/juddi-api</juddiApiUrl>
+			</node>
+		</nodes>
+	</client>
+</uddi>



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


Mime
View raw message