suipian91 2015-04-24 08:38
浏览 747

我想做一个基于juddiv3的uddi订阅-可总是出这个问题-求帮助-谢谢

错误代码:
org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: At least one categoryBag, find_tModel or tModelBag must be supplied
org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:92)
org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
$Proxy46.save_subscription(Unknown Source)
com.uddi.action.QueryServiceAction.queryByName(QueryServiceAction.java:310)

程序代码:
ActionContext context = ActionContext.getContext();
session = context.getSession();
HttpServletRequest request = (HttpServletRequest) context.get(ServletActionContext.HTTP_REQUEST);
UDDI_Inquiry_PortClient client = new UDDI_Inquiry_PortClient();
UDDI_Inquiry_PortType inquiryService = client.getUDDIInquiryServicePort();

UDDI_Subscription_PortClient subscriptionClient = new UDDI_Subscription_PortClient();
UDDI_Subscription_PortType subscriptionService = subscriptionClient.getUDDISubscriptionServicePort();

FindQualifiers fq = new FindQualifiers();
fq.getFindQualifier().add("binarysort");
fq.getFindQualifier().add("sortbydateasc");
fq.getFindQualifier().add("approximatematch");
Name name = new Name();
sName = request.getParameter("sName");
System.out.println("authinfo:"+authinfo);*/
name.setValue("%"+sName+"%");
FindService fs = new FindService();
fs.setAuthInfo(authinfo);
fs.setFindQualifiers(fq);
fs.getName().add(name);
ServiceList serviceList = inquiryService.find_service(fs);
ServiceInfos sif = serviceList.getServiceInfos();
List sifs = sif.getServiceInfo();
List sdlists = new ArrayList();
for(ServiceInfo s:sifs){
String serviceKey = s.getServiceKey();
GetServiceDetail gsd=new GetServiceDetail();
gsd.setAuthInfo(authinfo);
gsd.getServiceKey().add(serviceKey);
ServiceDetail serviceDetail = inquiryService.get_serviceDetail(gsd);
sdlists.add(serviceDetail);
BusinessService bs = serviceDetail.getBusinessService().get(0);
String bindingkey = bs.getBindingTemplates().getBindingTemplate().get(0).getBindingKey();
GetBindingDetail gbd = new GetBindingDetail();
gbd.setAuthInfo(authinfo);
gbd.getBindingKey().add(bindingkey);
BindingDetail bindingdetail=inquiryService.get_bindingDetail(gbd);
BindingTemplate bindingtemplate=bindingdetail.getBindingTemplate().get(0);
AccessPoint myPoint = bindingtemplate.getAccessPoint();
myPoint.setUseType("http");
myPoint.setValue("http://1024040730@qq.com");
bindingtemplate.setAccessPoint(myPoint);

 SubscriptionFilter myFilter = new SubscriptionFilter();
  myFilter.setFindService(fs);
  myFilter.setGetServiceDetail(gsd);



 Subscription mySubscription = new Subscription();
  mySubscription.setBindingKey(bindingtemplate.getBindingKey());
  mySubscription.setMaxEntities(1000);
          mySubscription.setNotificationInterval(new DatatypeFactoryImpl().newDurationDayTime("PT1M"));
  mySubscription.setSubscriptionFilter(myFilter);
  mySubscription.setBrief(true);

// System.out.println(mySubscription);

 SaveSubscription mySaveSubscription = new SaveSubscription();
  mySaveSubscription.setAuthInfo(authinfo);
  mySaveSubscription.getSubscription().add(mySubscription);

// System.out.println(mySaveSubscription);
Subscriptions mySubscriptions = subscriptionService.save_subscription(mySaveSubscription);

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
    • ¥20 软件测试决策法疑问求解答
    • ¥15 win11 23H2删除推荐的项目,支持注册表等
    • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
    • ¥15 qt6.6.3 基于百度云的语音识别 不会改
    • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
    • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
    • ¥15 lingo18勾选global solver求解使用的算法
    • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
    • ¥20 测距传感器数据手册i2c