在 java ws 中使用多个服务器时出现问题。
所有这些服务器都提供相同的 WebService,但它们具有不同的名称和 IP。
我正在使用UDDI。
我的目标是让客户端在执行请求时联系所有正在执行该服务的服务器。
我应该通过处理程序执行此操作还是有其他方法?
SDStore port =service.getSDStoreImplPort();
String uddiURL = args[0];
String name = args[1];
Integer nrRep = Integer.parseInt(args[2]);
System.out.printf("Contacting UDDI at %s%n", uddiURL);
UDDINaming uddiNaming = new UDDINaming(uddiURL);
System.out.printf("Looking for '%s'%n", name);
Vector<String> repsAdd = new Vector<String>();
for(;nrRep>=1;nrRep--){
repsAdd.add(uddiNaming.lookup(name + nrRep));
System.out.printf(name+nrRep);
}
uddiNaming.lookup(name);
System.out.println("Creating stub ...");
// ...
System.out.println("Setting endpoint address ...");
BindingProvider bindingProvider = (BindingProvider) port;
Map<String, Object> requestContext = bindingProvider.getRequestContext();
requestContext.put(ENDPOINT_ADDRESS_PROPERTY, repsAdd.elementAt(0));
// Start Store
StoreM g = new StoreM(port);
我知道通过port指令我得到了这个服务的接口,但是如何配置requestContext呢?
我想这是我需要改变的......