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