You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by al...@apache.org on 2013/06/03 00:37:32 UTC
svn commit: r1488804 [2/2] - in /juddi/trunk:
juddi-examples/uddi-createbulk/src/uddi/createbulk/
juddi-examples/uddi-createbulk/src/uddi/examples/
uddi-ws/src/main/java/org/apache/juddi/api_v3/
Copied: juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiDigitalSignatureTmodel.java (from r1486692, juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiDigitalSignatureTmodel.java)
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiDigitalSignatureTmodel.java?p2=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiDigitalSignatureTmodel.java&p1=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiDigitalSignatureTmodel.java&r1=1486692&r2=1488804&rev=1488804&view=diff
==============================================================================
--- juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiDigitalSignatureTmodel.java (original)
+++ juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiDigitalSignatureTmodel.java Sun Jun 2 22:37:31 2013
@@ -2,25 +2,22 @@
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
-package uddi.createbulk;
+package uddi.examples;
-import java.util.List;
-import java.util.Properties;
import java.util.concurrent.atomic.AtomicReference;
-
-import org.apache.juddi.api_v3.AccessPointType;
-import org.apache.juddi.api_v3.Publisher;
-import org.apache.juddi.v3.client.UDDIConstants;
import org.apache.juddi.v3.client.config.UDDIClient;
import org.apache.juddi.v3.client.config.UDDIClientContainer;
import org.apache.juddi.v3.client.crypto.DigSigUtil;
import org.apache.juddi.v3.client.transport.Transport;
import org.uddi.api_v3.*;
-import org.uddi.v3_service.DispositionReportFaultMessage;
import org.uddi.v3_service.UDDIInquiryPortType;
import org.uddi.v3_service.UDDIPublicationPortType;
import org.uddi.v3_service.UDDISecurityPortType;
+/**
+ * This class shows you how to digitally sign a tmodel and verify the signature
+ * @author Alex O'Ree
+ */
public class UddiDigitalSignatureTmodel {
private static UDDISecurityPortType security = null;
@@ -64,90 +61,25 @@ public class UddiDigitalSignatureTmodel
return;
}
UddiDigitalSignatureTmodel sp = new UddiDigitalSignatureTmodel();
- sp.Browse(args);
+ sp.Fire(args);
}
- public void Browse(String[] args) {
+ public void Fire(String[] args) {
try {
- Properties prop = ParseArgs(args);
- if (prop.containsKey("AuthStyle")) {
- //TODO, determine a way to pass parameters from the command line, hardcoded for now
- //UDDI Token
- //HTTP Username/Password (basic or digest)
- //HTTP Client Cert
- }
org.apache.juddi.v3.client.crypto.DigSigUtil ds = new DigSigUtil();
ds.put(DigSigUtil.SIGNATURE_KEYSTORE_FILE, "keystore.jks");
ds.put(DigSigUtil.SIGNATURE_KEYSTORE_FILETYPE, "JKS");
ds.put(DigSigUtil.SIGNATURE_KEYSTORE_FILE_PASSWORD, "password");
ds.put(DigSigUtil.SIGNATURE_KEYSTORE_KEY_ALIAS, "selfsigned");
+
+ //obmit this statement if you don't need the certificate to be included.
ds.put(DigSigUtil.SIGNATURE_OPTION_CERT_INCLUSION_BASE64, "t");
- String token = GetAuthKey("root", "root", AuthStyle.UDDI_AUTH);
- /*BusinessList findBusiness = GetBusinessList(token);
- BusinessEntity be = GetBusinessDetails(findBusiness.getBusinessInfos().getBusinessInfo().get(0));
+ String token = GetAuthKey("root", "root");
- //todo provider name
- /*ds.put(DigSigUtil.SIGNATURE_OPTION_CERT_INCLUSION_SERIAL, "t");
- ds.put(DigSigUtil.SIGNATURE_OPTION_CERT_INCLUSION_SUBJECTDN, "t");
- ds.put(DigSigUtil.SIGNATURE_OPTION_CERT_INCLUSION_THUMBPRINT, "t");
- ds.put(DigSigUtil.SIGNATURE_OPTION_CERT_INCLUSION_X500_PRINICPAL, "t");
-
- * /
- ds.put(DigSigUtil.SIGNATURE_OPTION_CERT_INCLUSION_BASE64, "t");
-
- // org.apache.xml.security.utils.
- System.out.println("signing");
- BusinessEntity signUDDI_JAXBObject = ds.signUddiEntity(be);
- System.out.println("signed");
- DigSigUtil.JAXB_ToStdOut(signUDDI_JAXBObject);
- AtomicReference<String> msg = new AtomicReference<String>();
- boolean verifySigned_UDDI_JAXB_Object = ds.verifySignedUddiEntity(signUDDI_JAXBObject, msg);
- if (verifySigned_UDDI_JAXB_Object) {
- System.out.println("signature validation passed (as expected)");
- } else {
- System.out.println("signature validation failed");
- }
- System.out.println(msg.get());
- msg = new AtomicReference<String>();
- System.out.println("signing it again for the hell of it");
- signUDDI_JAXBObject = ds.signUddiEntity(signUDDI_JAXBObject);
- DigSigUtil.JAXB_ToStdOut(signUDDI_JAXBObject);
-
- verifySigned_UDDI_JAXB_Object = ds.verifySignedUddiEntity(signUDDI_JAXBObject, msg);
- if (verifySigned_UDDI_JAXB_Object) {
- System.out.println("signature validation passed (as expected)");
- } else {
- System.out.println("signature validation failed");
- }
- System.out.println(msg.get());
- msg = new AtomicReference<String>();
- System.out.println("signing");
- //start from scratcha again
- signUDDI_JAXBObject = ds.signUddiEntity(be);
- System.out.println("signed");
- //tweak it, then revalidate
- System.out.println("tweak it, then verify again");
- Description d = new Description();
- d.setValue("Hello world");
- signUDDI_JAXBObject.getDescription().add(d);
- DigSigUtil.JAXB_ToStdOut(signUDDI_JAXBObject);
-
- verifySigned_UDDI_JAXB_Object = ds.verifySignedUddiEntity(signUDDI_JAXBObject, msg);
- if (verifySigned_UDDI_JAXB_Object) {
- System.out.println("signature validation passed (not expected)");
- } else {
- System.out.println("signature validation failed (expected)");
- }
- System.out.println(msg.get());
- //PrintBusinessInfo(findBusiness.getBusinessInfos());
- //PrintBusinessDetails(findBusiness.getBusinessInfos(), token);
- //Pr intServiceDetailsByBusiness(findBusiness.getBusinessInfos(), token);
- */
- System.out.println("this is the real test =====================");
-
- // BusinessList findBusiness = GetBusinessList(token);
-
- TModel be = GetBusinessDetails();//findBusiness.getBusinessInfos().getBusinessInfo().get(0));
+ String key ="uddi:juddi.apache.org:23748881-bb2f-4896-8283-4a15be1d0bc1";
+
+
+ TModel be = GetTmodelDetails(key);
be.getSignature().clear();
//DigSigUtil.JAXB_ToStdOut(be);
System.out.println("signing");
@@ -161,8 +93,8 @@ public class UddiDigitalSignatureTmodel
publish.saveTModel(sb);
System.out.println("saved, fetching");
- // findBusiness = GetBusinessList(token);
- be = GetBusinessDetails();//findBusiness.getBusinessInfos().getBusinessInfo().get(0));
+
+ be = GetTmodelDetails(key);
DigSigUtil.JAXB_ToStdOut(be);
System.out.println("verifing");
AtomicReference<String> msg = new AtomicReference<String>();
@@ -179,173 +111,15 @@ public class UddiDigitalSignatureTmodel
}
}
- /**
- * Find all of the registered businesses. This list may be filtered based on
- * access control rules
- *
- * @param token
- * @return
- * @throws Exception
- */
- private BusinessList GetBusinessList(String token) throws Exception {
- FindBusiness fb = new FindBusiness();
- fb.setAuthInfo(token);
- Name n = new Name();
- n.setValue("My Business 0 2013-04-11T12:40:52.753-04:00");
- fb.getName().add(n);
- org.uddi.api_v3.FindQualifiers fq = new org.uddi.api_v3.FindQualifiers();
- fq.getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
-
- fb.setFindQualifiers(fq);
- Name searchname = new Name();
- searchname.setValue(UDDIConstants.WILDCARD);
- //fb.getName().add(searchname);
- BusinessList findBusiness = inquiry.findBusiness(fb);
- return findBusiness;
-
- }
-
- /**
- * Converts category bags of tmodels to a readable string
- *
- * @param categoryBag
- * @return
- */
- private String CatBagToString(CategoryBag categoryBag) {
- StringBuilder sb = new StringBuilder();
- if (categoryBag == null) {
- return "no data";
- }
- for (int i = 0; i < categoryBag.getKeyedReference().size(); i++) {
- sb.append(KeyedReferenceToString(categoryBag.getKeyedReference().get(i)));
- }
- for (int i = 0; i < categoryBag.getKeyedReferenceGroup().size(); i++) {
- sb.append("Key Ref Grp: TModelKey=");
- for (int k = 0; k < categoryBag.getKeyedReferenceGroup().get(i).getKeyedReference().size(); k++) {
- sb.append(KeyedReferenceToString(categoryBag.getKeyedReferenceGroup().get(i).getKeyedReference().get(k)));
- }
- }
- return sb.toString();
- }
-
- private String KeyedReferenceToString(KeyedReference item) {
- StringBuilder sb = new StringBuilder();
- sb.append("Key Ref: Name=").
- append(item.getKeyName()).
- append(" Value=").
- append(item.getKeyValue()).
- append(" tModel=").
- append(item.getTModelKey()).
- append(System.getProperty("line.separator"));
- return sb.toString();
- }
-
- private void PrintContacts(Contacts contacts) {
- if (contacts == null) {
- return;
- }
- for (int i = 0; i < contacts.getContact().size(); i++) {
- System.out.println("Contact " + i + " type:" + contacts.getContact().get(i).getUseType());
- for (int k = 0; k < contacts.getContact().get(i).getPersonName().size(); k++) {
- System.out.println("Name: " + contacts.getContact().get(i).getPersonName().get(k).getValue());
- }
- for (int k = 0; k < contacts.getContact().get(i).getEmail().size(); k++) {
- System.out.println("Email: " + contacts.getContact().get(i).getEmail().get(k).getValue());
- }
- for (int k = 0; k < contacts.getContact().get(i).getAddress().size(); k++) {
- System.out.println("Address sort code " + contacts.getContact().get(i).getAddress().get(k).getSortCode());
- System.out.println("Address use type " + contacts.getContact().get(i).getAddress().get(k).getUseType());
- System.out.println("Address tmodel key " + contacts.getContact().get(i).getAddress().get(k).getTModelKey());
- for (int x = 0; x < contacts.getContact().get(i).getAddress().get(k).getAddressLine().size(); x++) {
- System.out.println("Address line value " + contacts.getContact().get(i).getAddress().get(k).getAddressLine().get(x).getValue());
- System.out.println("Address line key name " + contacts.getContact().get(i).getAddress().get(k).getAddressLine().get(x).getKeyName());
- System.out.println("Address line key value " + contacts.getContact().get(i).getAddress().get(k).getAddressLine().get(x).getKeyValue());
- }
- }
- for (int k = 0; k < contacts.getContact().get(i).getDescription().size(); k++) {
- System.out.println("Desc: " + contacts.getContact().get(i).getDescription().get(k).getValue());
- }
- for (int k = 0; k < contacts.getContact().get(i).getPhone().size(); k++) {
- System.out.println("Phone: " + contacts.getContact().get(i).getPhone().get(k).getValue());
- }
- }
-
- }
-
- private void PrintServiceDetail(BusinessService get) {
- if (get == null) {
- return;
- }
- System.out.println("Name " + ListToString(get.getName()));
- System.out.println("Desc " + ListToDescString(get.getDescription()));
- System.out.println("Key " + (get.getServiceKey()));
- System.out.println("Cat bag " + CatBagToString(get.getCategoryBag()));
- if (!get.getSignature().isEmpty()) {
- System.out.println("Item is digitally signed");
- } else {
- System.out.println("Item is not digitally signed");
- }
- PrintBindingTemplates(get.getBindingTemplates());
- }
-
- /**
- * This function is useful for translating UDDI's somewhat complex data
- * format to something that is more useful.
- *
- * @param bindingTemplates
- */
- private void PrintBindingTemplates(BindingTemplates bindingTemplates) {
- if (bindingTemplates == null) {
- return;
- }
- for (int i = 0; i < bindingTemplates.getBindingTemplate().size(); i++) {
- System.out.println("Binding Key: " + bindingTemplates.getBindingTemplate().get(i).getBindingKey());
- //TODO The UDDI spec is kind of strange at this point.
- //An access point could be a URL, a reference to another UDDI binding key, a hosting redirector (which is
- //esscentially a pointer to another UDDI registry) or a WSDL Deployment
- //From an end client's perspective, all you really want is the endpoint.
- //http://uddi.org/pubs/uddi_v3.htm#_Ref8977716
- //So if you have a wsdlDeployment useType, fetch the wsdl and parse for the invocation URL
- //If its hosting director, you'll have to fetch that data from uddi recursively until the leaf node is found
- //Consult the UDDI specification for more information
-
- if (bindingTemplates.getBindingTemplate().get(i).getAccessPoint() != null) {
- System.out.println("Access Point: " + bindingTemplates.getBindingTemplate().get(i).getAccessPoint().getValue() + " type " + bindingTemplates.getBindingTemplate().get(i).getAccessPoint().getUseType());
- if (bindingTemplates.getBindingTemplate().get(i).getAccessPoint().getUseType() != null) {
- if (bindingTemplates.getBindingTemplate().get(i).getAccessPoint().getUseType().equalsIgnoreCase(AccessPointType.END_POINT.toString())) {
- System.out.println("Use this access point value as an invocation endpoint.");
- }
- if (bindingTemplates.getBindingTemplate().get(i).getAccessPoint().getUseType().equalsIgnoreCase(AccessPointType.BINDING_TEMPLATE.toString())) {
- System.out.println("Use this access point value as a reference to another binding template.");
- }
- if (bindingTemplates.getBindingTemplate().get(i).getAccessPoint().getUseType().equalsIgnoreCase(AccessPointType.WSDL_DEPLOYMENT.toString())) {
- System.out.println("Use this access point value as a URL to a WSDL document, which presumably will have a real access point defined.");
- }
- if (bindingTemplates.getBindingTemplate().get(i).getAccessPoint().getUseType().equalsIgnoreCase(AccessPointType.HOSTING_REDIRECTOR.toString())) {
- System.out.println("Use this access point value as an Inquiry URL of another UDDI registry, look up the same binding template there (usage varies).");
- }
- }
- }
-
- }
- }
-
- private TModel GetBusinessDetails() throws Exception {
+
+ private TModel GetTmodelDetails(String key) throws Exception {
// BusinessInfo get
GetTModelDetail r = new GetTModelDetail();
- r.getTModelKey().add("uddi:juddi.apache.org:23748881-bb2f-4896-8283-4a15be1d0bc1");
+ r.getTModelKey().add(key);
return inquiry.getTModelDetail(r).getTModel().get(0);
}
- private enum AuthStyle {
-
- HTTP_BASIC,
- HTTP_DIGEST,
- HTTP_NTLM,
- UDDI_AUTH,
- HTTP_CLIENT_CERT
- }
-
+
/**
* Gets a UDDI style auth token, otherwise, appends credentials to the ws
* proxies (not yet implemented)
@@ -355,7 +129,7 @@ public class UddiDigitalSignatureTmodel
* @param style
* @return
*/
- private String GetAuthKey(String username, String password, AuthStyle style) {
+ private String GetAuthKey(String username, String password) {
try {
GetAuthToken getAuthTokenRoot = new GetAuthToken();
@@ -372,96 +146,6 @@ public class UddiDigitalSignatureTmodel
return null;
}
- /**
- * Converts command line args into a simple property structure
- *
- * @param args
- * @return
- */
- private Properties ParseArgs(String[] args) {
-
- Properties p = new Properties();
- if (args == null) {
- return p;
- }
- for (int i = 0; i < args.length; i++) {
- if (args[i] != null && args[i].length() >= 3) {
- p.put(args[i].split("=")[0], args[i].split("=")[1]);
- }
- }
- return p;
- }
-
- private void PrintBusinessInfo(BusinessInfos businessInfos) {
- if (businessInfos == null) {
- System.out.println("No data returned");
- } else {
- for (int i = 0; i < businessInfos.getBusinessInfo().size(); i++) {
- System.out.println("===============================================");
- System.out.println("Business Key: " + businessInfos.getBusinessInfo().get(i).getBusinessKey());
- System.out.println("Name: " + ListToString(businessInfos.getBusinessInfo().get(i).getName()));
-
- System.out.println("Description: " + ListToDescString(businessInfos.getBusinessInfo().get(i).getDescription()));
- System.out.println("Services:");
- PrintServiceInfo(businessInfos.getBusinessInfo().get(i).getServiceInfos());
- }
- }
- }
-
- private String ListToString(List<Name> name) {
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < name.size(); i++) {
- sb.append(name.get(i).getValue()).append(" ");
- }
- return sb.toString();
- }
-
- private String ListToDescString(List<Description> name) {
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < name.size(); i++) {
- sb.append(name.get(i).getValue()).append(" ");
- }
- return sb.toString();
- }
-
- private void PrintServiceInfo(ServiceInfos serviceInfos) {
- for (int i = 0; i < serviceInfos.getServiceInfo().size(); i++) {
- System.out.println("-------------------------------------------");
- System.out.println("Service Key: " + serviceInfos.getServiceInfo().get(i).getServiceKey());
- System.out.println("Owning Business Key: " + serviceInfos.getServiceInfo().get(i).getBusinessKey());
- System.out.println("Name: " + ListToString(serviceInfos.getServiceInfo().get(i).getName()));
- }
- }
-
- private void PrintBusinessDetails(BusinessInfos businessInfos, String token) throws Exception {
- GetBusinessDetail gbd = new GetBusinessDetail();
- gbd.setAuthInfo(token);
- for (int i = 0; i < businessInfos.getBusinessInfo().size(); i++) {
- gbd.getBusinessKey().add(businessInfos.getBusinessInfo().get(i).getBusinessKey());
- }
- BusinessDetail businessDetail = inquiry.getBusinessDetail(gbd);
- for (int i = 0; i < businessDetail.getBusinessEntity().size(); i++) {
- System.out.println("Business Detail - key: " + businessDetail.getBusinessEntity().get(i).getBusinessKey());
- System.out.println("Name: " + ListToString(businessDetail.getBusinessEntity().get(i).getName()));
- System.out.println("CategoryBag: " + CatBagToString(businessDetail.getBusinessEntity().get(i).getCategoryBag()));
- PrintContacts(businessDetail.getBusinessEntity().get(i).getContacts());
- }
- }
+
- private void PrintServiceDetailsByBusiness(BusinessInfos businessInfos, String token) throws Exception {
- for (int i = 0; i < businessInfos.getBusinessInfo().size(); i++) {
- GetServiceDetail gsd = new GetServiceDetail();
- for (int k = 0; k < businessInfos.getBusinessInfo().get(i).getServiceInfos().getServiceInfo().size(); k++) {
- gsd.getServiceKey().add(businessInfos.getBusinessInfo().get(i).getServiceInfos().getServiceInfo().get(k).getServiceKey());
- }
- gsd.setAuthInfo(token);
- System.out.println("Fetching data for business " + businessInfos.getBusinessInfo().get(i).getBusinessKey());
- ServiceDetail serviceDetail = inquiry.getServiceDetail(gsd);
- for (int k = 0; k < serviceDetail.getBusinessService().size(); k++) {
- PrintServiceDetail(serviceDetail.getBusinessService().get(k));
- }
- System.out.println("................");
-
- }
- }
}
Copied: juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiFindBinding.java (from r1486692, juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiFindBinding.java)
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiFindBinding.java?p2=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiFindBinding.java&p1=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiFindBinding.java&r1=1486692&r2=1488804&rev=1488804&view=diff
==============================================================================
--- juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiFindBinding.java (original)
+++ juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiFindBinding.java Sun Jun 2 22:37:31 2013
@@ -2,12 +2,8 @@
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
-package uddi.createbulk;
+package uddi.examples;
-import java.util.GregorianCalendar;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.datatype.XMLGregorianCalendar;
-import org.apache.juddi.api_v3.AccessPointType;
import org.apache.juddi.v3.client.UDDIConstants;
import org.apache.juddi.v3.client.config.UDDIClient;
import org.apache.juddi.v3.client.config.UDDIClientContainer;
@@ -19,7 +15,7 @@ import org.uddi.v3_service.UDDIPublicati
import org.uddi.v3_service.UDDISecurityPortType;
/**
- *
+ * This class shows you how to find an endpoint by searching through all services
* @author Alex
*/
public class UddiFindBinding {
Copied: juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiFindEndpoints.java (from r1486692, juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiFindService.java)
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiFindEndpoints.java?p2=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiFindEndpoints.java&p1=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiFindService.java&r1=1486692&r2=1488804&rev=1488804&view=diff
==============================================================================
--- juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiFindService.java (original)
+++ juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiFindEndpoints.java Sun Jun 2 22:37:31 2013
@@ -2,30 +2,44 @@
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
-package uddi.createbulk;
+package uddi.examples;
-import javax.xml.bind.JAXB;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.wsdl.Definition;
+import javax.wsdl.PortType;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import org.apache.juddi.api_v3.AccessPointType;
import org.apache.juddi.v3.client.config.UDDIClient;
import org.apache.juddi.v3.client.config.UDDIClientContainer;
+import org.apache.juddi.v3.client.mapping.ReadWSDL;
+import org.apache.juddi.v3.client.mapping.URLLocalizerDefaultImpl;
+import org.apache.juddi.v3.client.mapping.WSDL2UDDI;
import org.apache.juddi.v3.client.transport.Transport;
-import org.apache.juddi.v3_service.JUDDIApiPortType;
import org.uddi.api_v3.*;
import org.uddi.v3_service.UDDIInquiryPortType;
-import org.uddi.v3_service.UDDIPublicationPortType;
import org.uddi.v3_service.UDDISecurityPortType;
/**
+ * This class show you how get all available Access Points/Endpoints for a
+ * service. This is harder than it sounds due to the complexity of UDDI's data
+ * structure. The output is the list of URLs given a service's key
*
* @author Alex
*/
-public class UddiFindService {
+public class UddiFindEndpoints {
private static UDDISecurityPortType security = null;
- private static JUDDIApiPortType juddiApi = null;
- private static UDDIPublicationPortType publish = null;
private static UDDIInquiryPortType inquiry = null;
- public UddiFindService() {
+ public UddiFindEndpoints() {
try {
// create a manager and read the config in the archive;
// you can use your config file name
@@ -38,8 +52,6 @@ public class UddiFindService {
Transport transport = clerkManager.getTransport("default");
// Now you create a reference to the UDDI API
security = transport.getUDDISecurityService();
- juddiApi = transport.getJUDDIApiService();
- publish = transport.getUDDIPublishService();
inquiry = transport.getUDDIInquiryService();
} catch (Exception e) {
e.printStackTrace();
@@ -60,12 +72,19 @@ public class UddiFindService {
GetServiceDetail fs = new GetServiceDetail();
fs.setAuthInfo(rootAuthToken.getAuthInfo());
- fs.getServiceKey().add("mykey");
+
+ //TODO Key! insert your key here!
+ String key = "uddi:juddi.apache.org:services-inquiry";
+
+ fs.getServiceKey().add(key);
ServiceDetail serviceDetail = inquiry.getServiceDetail(fs);
if (serviceDetail == null || serviceDetail.getBusinessService().isEmpty()) {
- System.out.println("mykey is not registered");
+ System.out.println(key + " is not registered");
} else {
- JAXB.marshal(serviceDetail, System.out);
+ List<String> endpoints = GetEndpoints(serviceDetail, rootAuthToken.getAuthInfo());
+ for (int i = 0; i < endpoints.size(); i++) {
+ System.out.println(endpoints.get(i));
+ }
}
} catch (Exception e) {
e.printStackTrace();
@@ -73,7 +92,108 @@ public class UddiFindService {
}
public static void main(String args[]) {
- UddiFindService sp = new UddiFindService();
+ UddiFindEndpoints sp = new UddiFindEndpoints();
sp.find();
}
+
+ private List<String> GetEndpoints(ServiceDetail serviceDetail, String authInfo) throws Exception {
+ List<String> items = new ArrayList<String>();
+ if (serviceDetail == null) {
+ return items;
+ }
+ for (int i = 0; i < serviceDetail.getBusinessService().size(); i++) {
+ if (serviceDetail.getBusinessService().get(i).getBindingTemplates() != null) {
+ for (int k = 0; k < serviceDetail.getBusinessService().get(i).getBindingTemplates().getBindingTemplate().size(); k++) {
+ items.addAll(ParseBinding(serviceDetail.getBusinessService().get(i).getBindingTemplates().getBindingTemplate().get(k), authInfo));
+ }
+ }
+ }
+ return items;
+ }
+
+ private List<String> GetBindingInfo(String value, String cred) throws Exception {
+ List<String> items = new ArrayList<String>();
+ if (value == null) {
+ return items;
+ }
+ GetBindingDetail b = new GetBindingDetail();
+ b.setAuthInfo(cred);
+ b.getBindingKey().add(value);
+ BindingDetail bindingDetail = inquiry.getBindingDetail(b);
+ for (int i = 0; i < bindingDetail.getBindingTemplate().size(); i++) {
+ items.addAll(ParseBinding(bindingDetail.getBindingTemplate().get(i), cred));
+ }
+ return items;
+ }
+
+ private List<String> FetchWSDL(String value) {
+ List<String> items = new ArrayList<String>();
+
+ if (value.startsWith("http://") || value.startsWith("https://")) {
+ //here, we need an HTTP Get for WSDLs
+ org.apache.juddi.v3.client.mapping.ReadWSDL r = new ReadWSDL();
+ r.setIgnoreSSLErrors(true);
+ try {
+ Definition wsdlDefinition = r.readWSDL(new URL(value));
+ Properties properties = new Properties();
+
+
+ properties.put("keyDomain", "domain");
+ properties.put("businessName", "biz");
+ properties.put("serverName", "localhost");
+ properties.put("serverPort", "80");
+
+ WSDL2UDDI wsdl2UDDI = new WSDL2UDDI(null, new URLLocalizerDefaultImpl(), properties);
+ BusinessServices businessServices = wsdl2UDDI.createBusinessServices(wsdlDefinition);
+ for (int i = 0; i < businessServices.getBusinessService().size(); i++) {
+ if (businessServices.getBusinessService().get(i).getBindingTemplates() != null) {
+ for (int k = 0; k < businessServices.getBusinessService().get(i).getBindingTemplates().getBindingTemplate().size(); k++) {
+ items.addAll(ParseBinding(businessServices.getBusinessService().get(i).getBindingTemplates().getBindingTemplate().get(k), null));
+ }
+ }
+ }
+ } catch (Exception ex) {
+ Logger.getLogger(UddiFindEndpoints.class.getName()).log(Level.SEVERE, null, ex);
+ }
+
+ }
+ return items;
+ }
+
+ private List<String> ParseBinding(BindingTemplate get, String authInfo) throws Exception {
+ List<String> items = new ArrayList<String>();
+ if (get == null || get.getAccessPoint() == null) {
+ return items;
+ }
+ if (get.getHostingRedirector() != null) {
+ //hosting Redirector is the same as "reference this other binding template". It's actually deprecated so
+ //don't expect to see this too often
+ items.addAll(GetBindingInfo(get.getHostingRedirector().getBindingKey(), authInfo));
+ }
+ if (get.getAccessPoint() != null) {
+ String usetype = get.getAccessPoint().getUseType();
+ if (usetype == null) {
+ //this is unexpected, usetype is a required field
+ items.add(get.getAccessPoint().getValue());
+ } else if (usetype.equalsIgnoreCase(AccessPointType.BINDING_TEMPLATE.toString())) {
+ //referencing another binding template
+ items.addAll(GetBindingInfo(get.getAccessPoint().getValue(), authInfo));
+ } else if (usetype.equalsIgnoreCase(AccessPointType.HOSTING_REDIRECTOR.toString())) {
+ //this one is a bit strange. the value should be a binding template
+
+ items.addAll(GetBindingInfo(get.getAccessPoint().getValue(), authInfo));
+
+ } else if (usetype.equalsIgnoreCase(AccessPointType.WSDL_DEPLOYMENT.toString())) {
+ //fetch wsdl and parse
+ items.addAll(FetchWSDL(get.getAccessPoint().getValue()));
+ } else if (usetype.equalsIgnoreCase(AccessPointType.END_POINT.toString())) {
+ items.add(get.getAccessPoint().getValue());
+ } else {
+ //treat it has an extension or whatever
+ items.add(get.getAccessPoint().getValue());
+ }
+
+ }
+ return items;
+ }
}
Copied: juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiGetServiceDetails.java (from r1486692, juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiFindService.java)
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiGetServiceDetails.java?p2=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiGetServiceDetails.java&p1=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiFindService.java&r1=1486692&r2=1488804&rev=1488804&view=diff
==============================================================================
--- juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiFindService.java (original)
+++ juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiGetServiceDetails.java Sun Jun 2 22:37:31 2013
@@ -2,7 +2,7 @@
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
-package uddi.createbulk;
+package uddi.examples;
import javax.xml.bind.JAXB;
import org.apache.juddi.v3.client.config.UDDIClient;
@@ -15,17 +15,17 @@ import org.uddi.v3_service.UDDIPublicati
import org.uddi.v3_service.UDDISecurityPortType;
/**
- *
+ * This class show you how to get all available information for service (excluding OperationalInfo)
* @author Alex
*/
-public class UddiFindService {
+public class UddiGetServiceDetails {
private static UDDISecurityPortType security = null;
private static JUDDIApiPortType juddiApi = null;
private static UDDIPublicationPortType publish = null;
private static UDDIInquiryPortType inquiry = null;
- public UddiFindService() {
+ public UddiGetServiceDetails() {
try {
// create a manager and read the config in the archive;
// you can use your config file name
@@ -73,7 +73,7 @@ public class UddiFindService {
}
public static void main(String args[]) {
- UddiFindService sp = new UddiFindService();
+ UddiGetServiceDetails sp = new UddiGetServiceDetails();
sp.find();
}
}
Copied: juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiKeyGenerator.java (from r1486692, juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiKeyGenerator.java)
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiKeyGenerator.java?p2=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiKeyGenerator.java&p1=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiKeyGenerator.java&r1=1486692&r2=1488804&rev=1488804&view=diff
==============================================================================
--- juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiKeyGenerator.java (original)
+++ juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiKeyGenerator.java Sun Jun 2 22:37:31 2013
@@ -2,7 +2,7 @@
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
-package uddi.createbulk;
+package uddi.examples;
import javax.xml.bind.JAXB;
import org.apache.juddi.v3.client.config.UDDIClerk;
@@ -59,15 +59,19 @@ public class UddiKeyGenerator {
AuthToken rootAuthToken = security.getAuthToken(getAuthTokenRoot);
System.out.println("uddi AUTHTOKEN = " + rootAuthToken.getAuthInfo());
SaveTModel st = new SaveTModel();
- /*st.setAuthInfo(rootAuthToken.getAuthInfo());
+ st.setAuthInfo(rootAuthToken.getAuthInfo());
st.getTModel().add(UDDIClerk.createKeyGenator("uddi:bea.com:keygenerator", "uddi:bea.com:keygenerator", "en"));
publish.saveTModel(st);
+ //Hey! tModel Key Generators can be nested too!
+
st = new SaveTModel();
st.setAuthInfo(rootAuthToken.getAuthInfo());
st.getTModel().add(UDDIClerk.createKeyGenator("uddi:bea.com:servicebus.default:keygenerator", "bea.com:servicebus.default", "en"));
publish.saveTModel(st);
-*/
+
+
+ // This code block proves that you can create tModels based on a nested keygen
st = new SaveTModel();
TModel m = new TModel();
m.setTModelKey("uddi:bea.com:servicebus.default.proxytest2");
@@ -77,7 +81,6 @@ public class UddiKeyGenerator {
publish.saveTModel(st);
-
} catch (Exception e) {
e.printStackTrace();
}
Copied: juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiRelatedBusinesses.java (from r1486692, juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiRelatedBusinesses.java)
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiRelatedBusinesses.java?p2=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiRelatedBusinesses.java&p1=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiRelatedBusinesses.java&r1=1486692&r2=1488804&rev=1488804&view=diff
==============================================================================
--- juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiRelatedBusinesses.java (original)
+++ juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiRelatedBusinesses.java Sun Jun 2 22:37:31 2013
@@ -2,7 +2,7 @@
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
-package uddi.createbulk;
+package uddi.examples;
import java.util.ArrayList;
import java.util.GregorianCalendar;
@@ -20,7 +20,7 @@ import org.uddi.v3_service.UDDIPublicati
import org.uddi.v3_service.UDDISecurityPortType;
/**
- *
+ * This will create two businesses under different users, then setup a relationship between the two
* @author Alex
*/
public class UddiRelatedBusinesses {
@@ -55,10 +55,18 @@ public class UddiRelatedBusinesses {
GetAuthToken getAuthTokenRoot = new GetAuthToken();
getAuthTokenRoot.setUserID("root");
getAuthTokenRoot.setCred("root");
+
+
+ GetAuthToken getAuthTokenUDDI = new GetAuthToken();
+ getAuthTokenRoot.setUserID("uddi");
+ getAuthTokenRoot.setCred("uddi");
// Making API call that retrieves the authentication token for the 'root' user.
AuthToken rootAuthToken = security.getAuthToken(getAuthTokenRoot);
System.out.println("root AUTHTOKEN = " + rootAuthToken.getAuthInfo());
+
+ AuthToken UDDIAuthToken = security.getAuthToken(getAuthTokenUDDI);
+ System.out.println("UDDI AUTHTOKEN = " + rootAuthToken.getAuthInfo());
@@ -66,7 +74,7 @@ public class UddiRelatedBusinesses {
GregorianCalendar gcal = new GregorianCalendar();
gcal.setTimeInMillis(System.currentTimeMillis());
XMLGregorianCalendar xcal = df.newXMLGregorianCalendar(gcal);
- for (int i = 0; i < 1; i++) {
+ for (int i = 0; i < 1; i++) { //this loop is used for testing at scale
// Creating the parent business entity that will contain our service.
BusinessEntity myBusEntity = new BusinessEntity();
Name myBusName = new Name();
@@ -92,11 +100,14 @@ public class UddiRelatedBusinesses {
// Adding the business entity to the "save" structure, using our publisher's authentication info and saving away.
sb = new SaveBusiness();
sb.getBusinessEntity().add(myBusEntity);
- sb.setAuthInfo(rootAuthToken.getAuthInfo());
+ sb.setAuthInfo(UDDIAuthToken.getAuthInfo());
bd = publish.saveBusiness(sb);
String myBusKey2 = bd.getBusinessEntity().get(0).getBusinessKey();
System.out.println("myBusiness key: " + myBusKey2);
+ //ROOT creates half of the relationship
+
+ //create a business relationship (publisher assertion)
Holder<List<PublisherAssertion>> x = new Holder<List<PublisherAssertion>>();
PublisherAssertion pa = new PublisherAssertion();
pa.setFromKey(myBusKey2);
@@ -110,7 +121,9 @@ public class UddiRelatedBusinesses {
x.value.add(pa);
publish.setPublisherAssertions(rootAuthToken.getAuthInfo(), x);
-
+ //now "UDDI" the user, creates the other half. It has to be mirrored exactly
+
+
x = new Holder<List<PublisherAssertion>>();
pa = new PublisherAssertion();
pa.setFromKey(myBusKey1);
@@ -122,8 +135,17 @@ public class UddiRelatedBusinesses {
pa.getKeyedReference().setTModelKey("uddi:uddi.org:relationships");
x.value = new ArrayList<PublisherAssertion>();
x.value.add(pa);
- publish.setPublisherAssertions(rootAuthToken.getAuthInfo(), x);
-
+ publish.setPublisherAssertions(UDDIAuthToken.getAuthInfo(), x);
+
+ /*
+ * Here's some notes:
+ * You can use
+ * List<AssertionStatusItem> assertionStatusReport = publish.getAssertionStatusReport(UDDIAuthToken.getAuthInfo(), CompletionStatus.STATUS_FROM_KEY_INCOMPLETE);
+ * to determine if there's any assertions/relationships requests that are pending
+ * this should have one item it in, the relationship that's incomplete
+ *
+ * There's also publish.deletePublisherAssertions();
+ */
}
} catch (Exception e) {
Copied: juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiSubscribe.java (from r1486692, juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiSubscribe.java)
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiSubscribe.java?p2=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiSubscribe.java&p1=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiSubscribe.java&r1=1486692&r2=1488804&rev=1488804&view=diff
==============================================================================
--- juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiSubscribe.java (original)
+++ juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiSubscribe.java Sun Jun 2 22:37:31 2013
@@ -2,7 +2,7 @@
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
-package uddi.createbulk;
+package uddi.examples;
import java.util.ArrayList;
import java.util.GregorianCalendar;
@@ -26,7 +26,7 @@ import org.uddi.v3_service.UDDISecurityP
import org.uddi.v3_service.UDDISubscriptionPortType;
/**
- *
+ * Thie class shows you how to create a business and a subscription using UDDI Subscription asynchronous callbacks
* @author Alex
*/
public class UddiSubscribe {
@@ -59,77 +59,9 @@ public class UddiSubscribe {
}
}
- public void publish() {
- try {
- // Setting up the values to get an authentication token for the 'root' user ('root' user has admin privileges
- // and can save other publishers).
-
-
-
- GetAuthToken getAuthTokenRoot = new GetAuthToken();
- getAuthTokenRoot.setUserID("root");
- getAuthTokenRoot.setCred("root");
-
- // Making API call that retrieves the authentication token for the 'root' user.
- AuthToken rootAuthToken = security.getAuthToken(getAuthTokenRoot);
- System.out.println("root AUTHTOKEN = " + rootAuthToken.getAuthInfo());
-
-
- getAuthTokenRoot = new GetAuthToken();
- getAuthTokenRoot.setUserID("uddi");
- getAuthTokenRoot.setCred("uddi");
-
- // Making API call that retrieves the authentication token for the 'root' user.
- AuthToken uddiAuthToken = security.getAuthToken(getAuthTokenRoot);
- System.out.println("uddi AUTHTOKEN = " + rootAuthToken.getAuthInfo());
-
-
-
-
-
-
- DatatypeFactory df = DatatypeFactory.newInstance();
- GregorianCalendar gcal = new GregorianCalendar();
- gcal.setTimeInMillis(System.currentTimeMillis());
- XMLGregorianCalendar xcal = df.newXMLGregorianCalendar(gcal);
-
- // Creating the parent business entity that will contain our service.
- BusinessEntity myBusEntity = new BusinessEntity();
- Name myBusName = new Name();
- myBusName.setLang("en");
- myBusName.setValue("My Business Dept 1" + " " + xcal.toString());
- 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(rootAuthToken.getAuthInfo());
- BusinessDetail bd = publish.saveBusiness(sb);
- String myBusKey1 = bd.getBusinessEntity().get(0).getBusinessKey();
- System.out.println("myBusiness key: " + myBusKey1);
-
- Holder<List<Subscription>> subs = new Holder<List<Subscription>>();
- subs.value = new ArrayList<Subscription>();
- Subscription sub = new Subscription();
- sub.setMaxEntities(20);
- sub.setSubscriptionFilter(new SubscriptionFilter());
- sub.getSubscriptionFilter().setGetBusinessDetail(new GetBusinessDetail());
- sub.getSubscriptionFilter().getGetBusinessDetail().getBusinessKey().add(myBusKey1);
- sub.getSubscriptionFilter().setGetAssertionStatusReport(new GetAssertionStatusReport());
- // sub.getSubscriptionFilter().s
- //uddi:juddi.apache.org:72619170-d391-41cb-99a0-238cb0b76eb9
- subs.value.add(sub);
- uddiSubscriptionService.saveSubscription(rootAuthToken.getAuthInfo(), subs);
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
public static void main(String args[]) throws Exception {
UddiSubscribe sp = new UddiSubscribe();
sp.SetupAndRegisterCallback();
- //sp.publish();
}
private void SetupAndRegisterCallback() throws Exception {
Copied: juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiSubscribeGet.java (from r1486692, juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiSubscribeGet.java)
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiSubscribeGet.java?p2=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiSubscribeGet.java&p1=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiSubscribeGet.java&r1=1486692&r2=1488804&rev=1488804&view=diff
==============================================================================
--- juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiSubscribeGet.java (original)
+++ juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiSubscribeGet.java Sun Jun 2 22:37:31 2013
@@ -2,32 +2,23 @@
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
-package uddi.createbulk;
+package uddi.examples;
-import java.util.ArrayList;
-import java.util.GregorianCalendar;
import java.util.List;
import javax.xml.bind.JAXB;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.datatype.XMLGregorianCalendar;
-import javax.xml.ws.Endpoint;
-import javax.xml.ws.Holder;
-import org.apache.juddi.v3.client.UDDIConstants;
import org.apache.juddi.v3.client.config.UDDIClient;
import org.apache.juddi.v3.client.config.UDDIClientContainer;
import org.apache.juddi.v3.client.transport.Transport;
import org.apache.juddi.v3_service.JUDDIApiPortType;
import org.uddi.api_v3.*;
-import org.uddi.sub_v3.DeleteSubscription;
import org.uddi.sub_v3.Subscription;
-import org.uddi.sub_v3.SubscriptionFilter;
import org.uddi.v3_service.UDDIInquiryPortType;
import org.uddi.v3_service.UDDIPublicationPortType;
import org.uddi.v3_service.UDDISecurityPortType;
import org.uddi.v3_service.UDDISubscriptionPortType;
/**
- *
+ * This class shows you how to retrieve all defined subscriptions (just the definition, not the content/results) given a user/pass
* @author Alex
*/
public class UddiSubscribeGet {
Copied: juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiSubscribeValidate.java (from r1486692, juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiSubscribeValidate.java)
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiSubscribeValidate.java?p2=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiSubscribeValidate.java&p1=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiSubscribeValidate.java&r1=1486692&r2=1488804&rev=1488804&view=diff
==============================================================================
--- juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/UddiSubscribeValidate.java (original)
+++ juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/UddiSubscribeValidate.java Sun Jun 2 22:37:31 2013
@@ -2,7 +2,7 @@
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
-package uddi.createbulk;
+package uddi.examples;
import java.util.ArrayList;
import java.util.Calendar;
@@ -28,7 +28,7 @@ import org.uddi.v3_service.UDDISubscript
import org.uddi.v3_service.UDDISubscriptionPortType;
/**
- *
+ * This class shows you how to get the results of an existing subscription in UDDI.
* @author Alex
*/
public class UddiSubscribeValidate {
@@ -62,7 +62,7 @@ public class UddiSubscribeValidate {
}
}
- public void publish() {
+ private void publish() {
try {
// Setting up the values to get an authentication token for the 'root' user ('root' user has admin privileges
// and can save other publishers).
@@ -74,8 +74,6 @@ public class UddiSubscribeValidate {
AuthToken rootAuthToken = security.getAuthToken(getAuthTokenRoot);
System.out.println("root AUTHTOKEN = " + rootAuthToken.getAuthInfo());
-//uddiSubscriptionListenerService.notifySubscriptionListener()
-
DatatypeFactory df = DatatypeFactory.newInstance();
GregorianCalendar gcal = new GregorianCalendar();
gcal.setTimeInMillis(System.currentTimeMillis());
@@ -84,12 +82,14 @@ public class UddiSubscribeValidate {
//
GetSubscriptionResults req = new GetSubscriptionResults();
req.setAuthInfo(rootAuthToken.getAuthInfo());
+ //TODO insert your subscription key values here
req.setSubscriptionKey("uddi:juddi.apache.org:72619170-d391-41cb-99a0-238cb0b76eb9");
req.setCoveragePeriod(new CoveragePeriod());
req.getCoveragePeriod().setEndPoint(xcal);
gcal = new GregorianCalendar();
+ //Time range that we want change logs on
gcal.add(Calendar.MONTH, -1);
req.getCoveragePeriod().setStartPoint(df.newXMLGregorianCalendar(gcal));
SubscriptionResultsList subscriptionResults = uddiSubscriptionService.getSubscriptionResults(req);
Copied: juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/WsdlImport.java (from r1486692, juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/WsdlImport.java)
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/WsdlImport.java?p2=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/WsdlImport.java&p1=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/WsdlImport.java&r1=1486692&r2=1488804&rev=1488804&view=diff
==============================================================================
--- juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/WsdlImport.java (original)
+++ juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/WsdlImport.java Sun Jun 2 22:37:31 2013
@@ -2,7 +2,7 @@
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
-package uddi.createbulk;
+package uddi.examples;
import java.io.File;
import java.net.URL;
@@ -34,6 +34,8 @@ import org.uddi.v3_service.UDDIPublicati
import org.uddi.v3_service.UDDISecurityPortType;
/**
+ * This class shows how to perform a WSDL2UDDI import manually. More
+ * specifically, this is WSDL2UDDI without using annotations.
*
* @author Alex O'Ree
*/
@@ -74,10 +76,11 @@ public class WsdlImport {
//step two, identify the key used for all your stuff
//you must have a key generator created already
//here, we are assuming that you don't have one
+ //NOTE: these are some of the publically available WSDLs that were used to test WSDL2UDDI
URL url = new URL("http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL");
//http://www.bccs.uni.no/~pve002/wsdls/ebi-mafft.wsdl");
//http://www.webservicex.net/GenericNAICS.asmx?WSDL");
-//http://www.webservicex.net/stockquote.asmx?WSDL");
+ //http://www.webservicex.net/stockquote.asmx?WSDL");
//http://www.webservicex.com/globalweather.asmx?WSDL");
//http://graphical.weather.gov/xml/SOAP_server/ndfdXMLserver.php?wsdl");
String domain = url.getHost();
@@ -134,7 +137,8 @@ public class WsdlImport {
tms.getTModel().add(tmodels[i]);
}
- //publish.saveTModel(stm);
+ //important, you'll need to save your new tModels, or else saving the business/service may fail
+ publish.saveTModel(stm);
@@ -153,45 +157,17 @@ public class WsdlImport {
BusinessEntity be = new BusinessEntity();
be.setBusinessKey(businessServices.getBusinessService().get(0).getBusinessKey());
be.getName().add(new Name());
+ //TODO, use some relevant here
be.getName().get(0).setValue(domain);
be.getName().get(0).setLang("en");
be.setBusinessServices(businessServices);
sb.getBusinessEntity().add(be);
PrintUDDI<SaveBusiness> sbp = new PrintUDDI<SaveBusiness>();
System.out.println("Request " + sbp.print(sb));
- // publish.saveBusiness(sb);
+ publish.saveBusiness(sb);
//and we're done
-
//Be sure to report any problems to the jUDDI JIRA bug tracker at
//https://issues.apache.org/jira/browse/JUDDI
}
-
- private static void StripKeys(BusinessServices businessServices) {
-
- for (int i = 0; i < businessServices.getBusinessService().size(); i++) {
- businessServices.getBusinessService().get(i).setBusinessKey(null);
- for (int k = 0; k < businessServices.getBusinessService().get(i).getBindingTemplates().getBindingTemplate().size(); k++) {
- businessServices.getBusinessService().get(i).getBindingTemplates().getBindingTemplate().get(k).setBindingKey(null);
- }
- }
- }
-
- private void someting() throws Exception {
- URL url = new URL("http://graphical.weather.gov/xml/SOAP_server/ndfdXMLserver.php?wsdl");
- String domain = url.getHost();
- ReadWSDL rw = new ReadWSDL();
- Definition wsdlDefinition = rw.readWSDL(url);
- properties.put("keyDomain", domain);
- properties.put("businessName", domain);
- properties.put("serverName", url.getHost());
- properties.put("serverPort", url.getPort());
- wsdlURL = wsdlDefinition.getDocumentBaseURI();
- WSDL2UDDI wsdl2UDDI = new WSDL2UDDI(null, new URLLocalizerDefaultImpl(), properties);
- BusinessServices businessServices = wsdl2UDDI.createBusinessServices(wsdlDefinition);
- Map<QName, PortType> portTypes = (Map<QName, PortType>) wsdlDefinition.getAllPortTypes();
- Set<TModel> portTypeTModels = wsdl2UDDI.createWSDLPortTypeTModels(wsdlURL, portTypes);
- Map allBindings = wsdlDefinition.getAllBindings();
- Set<TModel> createWSDLBindingTModels = wsdl2UDDI.createWSDLBindingTModels(wsdlURL, allBindings);
- }
}
Copied: juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/testStrings.java (from r1486692, juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/testStrings.java)
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/testStrings.java?p2=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/testStrings.java&p1=juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/testStrings.java&r1=1486692&r2=1488804&rev=1488804&view=diff
==============================================================================
--- juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/createbulk/testStrings.java (original)
+++ juddi/trunk/juddi-examples/uddi-createbulk/src/uddi/examples/testStrings.java Sun Jun 2 22:37:31 2013
@@ -2,7 +2,7 @@
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
-package uddi.createbulk;
+package uddi.examples;
import java.util.concurrent.atomic.AtomicReference;
import javax.xml.ws.Holder;
Modified: juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/AccessPointType.java
URL: http://svn.apache.org/viewvc/juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/AccessPointType.java?rev=1488804&r1=1488803&r2=1488804&view=diff
==============================================================================
--- juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/AccessPointType.java (original)
+++ juddi/trunk/uddi-ws/src/main/java/org/apache/juddi/api_v3/AccessPointType.java Sun Jun 2 22:37:31 2013
@@ -35,6 +35,7 @@ public enum AccessPointType {
HOSTING_REDIRECTOR("hostingDirector"),
/**
* wsdlDeployment: designates that the accessPoint points to a remotely hosted WSDL document that already contains the necessary binding information, including the actual service endpoint.
+ * The bindingTemplate of a Web service making use of indirection via a hostingRedirector Web service contains the bindingKey of the hosting redirector serviceâs bindingTemplate. The hosting redirectorâs bindingTemplate contains the accessPoint of the Hosting Redirector Web service
*/
WSDL_DEPLOYMENT ("wsdlDeployment");
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@juddi.apache.org
For additional commands, e-mail: commits-help@juddi.apache.org