我的JBoss版本是jboss-4.0.0DR2
获取发布代理的代码:import java.net.MalformedURLException;
import org.uddi4j.client.UDDIProxy;
import org.uddi4j.transport.ApacheSOAPTransport;public class ProxyFactory { static String DEFAUTL = "http://localhost:8080/jboss-net/services/uddi";
public static void main(String[] args) {
}
public static UDDIProxy createProxy(){
UDDIProxy proxy = new UDDIProxy();
try {
proxy.setInquiryURL(DEFAUTL);
proxy.setPublishURL(DEFAUTL);
} catch (MalformedURLException e) {
e.printStackTrace();
}
return proxy;
}
public static UDDIProxy createProxy(String Inquiry,String Publish){
UDDIProxy proxy = new UDDIProxy();
try {
proxy.setInquiryURL(Inquiry);
proxy.setPublishURL(Publish);
} catch (MalformedURLException e) {
e.printStackTrace();
}
return proxy;
            }
}发布一个服务的代码:
import java.util.Iterator;
import java.util.Vector;  import org.uddi4j.client.UDDIProxy;
import org.uddi4j.datatype.Name;
import org.uddi4j.datatype.business.BusinessEntity;
import org.uddi4j.datatype.business.Contact;
import org.uddi4j.datatype.business.Contacts;
import org.uddi4j.datatype.business.Email;
import org.uddi4j.response.AuthToken;
import org.uddi4j.response.BusinessDetail;
import org.uddi4j.response.BusinessInfo;
import org.uddi4j.response.BusinessList;
import org.uddi4j.response.ServiceInfo;
import org.uddi4j.response.ServiceInfos;
import org.uddi4j.util.FindQualifier;
import org.uddi4j.util.FindQualifiers;public class BusinessEntityClient { public static void main(String[] args) throws Exception {
BusinessEntityClient client = new BusinessEntityClient();
client.SaveBusiness(client.createBusinessEntity(),ProxyFactory.createProxy());
Vector bkeys = client.findBusinessKeys("liuyang",ProxyFactory.createProxy());
System.out.println("查询到的businessKey :");
for(Iterator it = bkeys.iterator();it.hasNext();){
System.out.println(it.next());
}
}

public void SaveBusiness(BusinessEntity entity,UDDIProxy proxy)throws Exception {
String login = "user1";
String password = "pass1";
AuthToken token = proxy.get_authToken(login, password);

Vector businessEntityVector = new Vector();
businessEntityVector.addElement(entity);
String ts = token.getAuthInfoString();
System.out.println("ts:"+ts);
BusinessDetail businessDetail = proxy.save_business(ts, businessEntityVector);
Vector businessEntities = businessDetail.getBusinessEntityVector();
if (businessEntities.size() > 0) {
  BusinessEntity returnedBusinessEntity =
(BusinessEntity)(businessEntities.elementAt(0));
String businessKey = returnedBusinessEntity.getBusinessKey();
System.out.println("创建的businessKey : "+businessKey);
}


public Vector findBusinessKeys(String bename,UDDIProxy proxy) {
Vector names = new Vector();
names.add(new Name(bename));  //Represents the name element within the UDDI version 2.0 schema
FindQualifiers findQualifiers = new FindQualifiers();  //Represents the findQualifier element within the UDDI version 2.0 schema
Vector qualifier = new Vector();
qualifier.add(new FindQualifier("exactNameMatch")); 
findQualifiers.setFindQualifierVector(qualifier);
BusinessList list;
Vector bkeys = new Vector();
try {
list = proxy.find_business(names,null,null,null,null,findQualifiers,5);
Vector bis = list.getBusinessInfos().getBusinessInfoVector();
for(Iterator it = bis.iterator();it.hasNext();){
BusinessInfo bi = (BusinessInfo) it.next();
String bkey = bi.getBusinessKey();
showServiceInfos(bi.getServiceInfos());
System.out.println(bkey);
bkeys.add(bkey);
}
} catch (Exception e) {
e.printStackTrace();

return bkeys;
}

public BusinessEntity createBusinessEntity() {
  BusinessEntity businessEntity = new BusinessEntity("", "testHello");
  businessEntity.setAuthorizedName("testHello");
  businessEntity.setDefaultDescriptionString("xmessenger 消息服务 ");
  Contact contact = new Contact ("liuyang");
  Email email = new Email("[email protected]");
  Vector emailVector = new Vector();
  emailVector.addElement(email);
  contact.setEmailVector(emailVector);
  Contacts contacts = new Contacts();
  Vector contactvt = new Vector();
  contactvt.addElement(contact);
  contacts.setContactVector(contactvt);
  businessEntity.setContacts(contacts);
  return businessEntity;
}
public void showServiceInfos(ServiceInfos sifs){
Vector sivt = sifs.getServiceInfoVector();
for(Iterator it = sivt.iterator();it.hasNext();){
ServiceInfo si = (ServiceInfo) it.next();
System.out.println("服务名称 : "+si.getName().getText());
System.out.println("服务的ServiceKey    : "+ si.getServiceKey());
System.out.println("服务供应商的BusinessKey : "+si.getBusinessKey());
}
}
}运行提示:
Try to insert null into a non-nullable column in statement [INSERT INTO BUSINESS_ENTITY (BUSINESS_KEY,AUTHORIZED_NAME,PUBLISHER_ID,OPERATOR,LAST_UPDATE) VALUES ('CADEC0B0-BE09-11DA-A492-BCB2AB5E2344',NULL,'user1','J.B.Oss','2006-03-28 11:22:04.0')]
将null值插入到非空的authorized_name列中请问怎么处理?BUSINESS_KEY、authorized_name、OPERATOR不是都由uddi提供的吗?
谢谢