|
C:\uddi\inspireit\uddi\examples\PublishORG.java
|
1 package inspireit.uddi.examples;
2
3 import inspireit.uddi.*;
4 import inspireit.uddi.io.*;
5 import inspireit.uddi.request.*;
6 import inspireit.uddi.request.publishing.*;
7 import inspireit.uddi.response.*;
8 import inspireit.uddi.response.base.*;
9 import inspireit.uddi.collections.*;
10 import inspireit.uddi.base.*;
11
12 /**
13 * @author Bertrand Fontaine, <a href="http://www.inspireit.biz" target="INSPIREIT">INSPIRE IT</a>
14 */
15 public class PublishORG {
16 public PublishORG(String publishURL, String username, String password) throws Exception {
17 // setup HTTPS-related stuff
18 System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
19 java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
20
21 // define the UDDI profile
22 UDDIProfile profile = new UDDIProfile();
23 profile.setProperty("inspireit.uddi.publishing.url", publishURL);
24 profile.setProperty("inspireit.uddi.publishing.username", username);
25 profile.setProperty("inspireit.uddi.publishing.password", password);
26 profile.setProperty("inspireit.uddi.version", "2.0");
27
28 try {
29 // get an appropriate publisher
30 UDDIPublisher publisher = UDDIPublisher.getPublisher(profile);
31
32 // build up the BusinessEntity to save in the registry
33 Name name = new Name("INSPIRE IT");
34 BusinessKey businessKey = null; // it's a new business...
35 BusinessEntity businessEntity = new BusinessEntity(businessKey, name);
36
37 // add contact information
38 Contact contact = new Contact("Bertrand Fontaine");
39 Phone phone = new Phone("02 648 71 34");
40 EMail email = new EMail("bertrand.fontaine@inspireit.biz");
41 contact.addPhone(phone);
42 contact.addEMail(email);
43 businessEntity.addContact(contact);
44
45 // add categorization: INSPIRE IT is a software publisher located in Belgium
46 KeyedReference softwarePublisher = new KeyedReference("5112");
47 softwarePublisher.setKeyName("NAICS: Software Publishers");
48 softwarePublisher.setTModelKey(TModel.NTIS_GOV_NAICS_1997.getTModelKey());
49
50 KeyedReference belgianCompany = new KeyedReference("BE");
51 belgianCompany.setKeyName("Belgium");
52 belgianCompany.setTModelKey(TModel.UDDI_ORG_ISO_CH_3166_1999.getTModelKey());
53
54 KeyedReferences keyedReferences = new KeyedReferences();
55 keyedReferences.add(softwarePublisher);
56 keyedReferences.add(belgianCompany);
57 CategoryBag categoryBag = new CategoryBag(keyedReferences);
58 businessEntity.setCategoryBag(categoryBag);
59
60 // define the www.javashelf.com bookstore service
61 AccessPoint accessPoint = new AccessPoint("http://www.javashelf.com");
62 TModelInstanceDetails instanceDetails = new TModelInstanceDetails();
63 TModelInstanceInfo instanceInfo = new TModelInstanceInfo(new TModelKey("uuid:4cec1cef-1f68-4b23-8cb7-8baa763aeb89"));
64 instanceInfo.addDescription(new Description("JavaShelf.com homepage"));
65 instanceDetails.addTModelInstanceInfo(instanceInfo);
66
67 ServiceKey serviceKey = null; // it’s a new service
68 BindingKey bindingKey = null; // it’s a new binding
69 BindingTemplate bindingTemplate = new BindingTemplate(bindingKey, serviceKey, accessPoint, instanceDetails);
70 Names names = new Names();
71 names.add(new Name("Javashelf.com"));
72 BindingTemplates bindingTemplates = new BindingTemplates();
73 bindingTemplates.add(bindingTemplate);
74
75 BusinessService bookstoreService = new BusinessService(serviceKey, businessKey, names, bindingTemplates);
76 businessEntity.addBusinessService(bookstoreService);
77
78 // execute the SaveBusiness operation and get the returned BusinessDetail
79 BusinessDetail businessDetail = publisher.saveBusiness(businessEntity);
80
81 // get the saved BusinessEntity
82 BusinessEntitys businessEntitys = businessDetail.getBusinessEntitys();
83 BusinessEntity savedBusinessEntity = (businessEntitys.toArray())[0];
84 businessKey = savedBusinessEntity.getBusinessKey();
85 System.out.println("BusinessEntity saved with business key : " + businessKey);
86 } catch(UDDIException e) {
87 System.out.println("An error has occured. More information follows.");
88 DispositionReport dispositionReport = e.getDispositionReport();
89 Results results = dispositionReport.getResults();
90 Result result[] = results.toArray();
91
92 for(int i=0; i< result.length; i++) {
93 System.out.println("Errno : " + result[i].getErrNo() +
94 "\n KeyType : " + result[i].getKeyType() +
95 "\n ErrInfo : " + result[i].getErrInfo());
96 }
97 }
98 }
99
100 public static void main(String args[]) throws Exception {
101 if (args.length != 3) {
102 System.out.println("PublishORG usage: java PublishORG <publishURL> <username> <password>");
103 System.exit(0);
104 }
105
106 new PublishORG(args[0], args[1], args[2]);
107 return;
108 }
109 }
110