使用CXF wsdl2java工具生成webservice客户端,在tomcat下能正常调用,但在weblogic下就会出现多个服务器串ip的情况代码如下/**
 * 获得webservice接口服务 
 * 通过这个服务调用webservice接口提供的方法
 * @param ip 通信服务器ip地址
 * @param port 通信服务器webservice端口
 * @return
 */
public UMPWebServiceIFService getService(String ip, String port) {
UMPWebServiceIFService service = null;//= serviceMap.get(ip+"_"+port);
if (service == null) {
URL baseUrl;
baseUrl = com.wisdom.umpmanager.webservice.client.UMPWebServiceIFService.class
.getResource(".");
URL url = null;
try {
url = new URL(baseUrl, "http://" + ip + ":" + port
+ "/monitorconfig?wsdl");
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try
{
service = new UMPWebServiceIFService(url, new QName(
"http://monitor.ump.wisdom.com/", "UMPWebServiceIFService"));
/* service = new UMPWebServiceIFService(url, new QName(
url.toString(), "UMPWebServiceIFService"));*/
}
catch(Exception e)
{
e.printStackTrace();
}
UMPWebServiceIF wsPort = service.getUMPWebServiceIFPort();
((BindingProvider)wsPort).getRequestContext().put("com.sun.xml.ws.connect.timeout", new Integer(30));
((BindingProvider)wsPort).getRequestContext().put("com.sun.xml.ws.request.timeout", new Integer(30));
if(service!=null)
{
serviceMap.put(ip+"_"+port, service);
}

}
return service;
}以上方法每次都会生成一个新的客户端,但在weblogic中执行时,实际调用的却是第一次调用的服务端,但不调试参数都正常
非常的诡异。而实际的代理服务是weglobic生成的,而不是cxf生成的相同的代码,在tomcat下执行一切正常高手指点一下,weblogic下调用是不是有啥包冲突 或者其他原因