淘先锋技术网

首页 1 2 3 4 5 6 7

使用cxf客户端调用webservice,报错,详细信息如下

 

其中 getTodayWeatherDetail.为调用的webwervice的方法,

http://server.cxf.webservice***为webservice中的namespace

代码如下:

JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
Client client = dcf.createClient("http://localhost:8080/csfServer/WeatherService?wsdl");
Object[] objects = new Object[0];
try {
   //参数1 是targetNamespace的空间名,参数2 是方法名
   QName opName = new QName("http://server.cxf.webservice.com", "getTodayWeather");
   objects = client.invoke(opName,"北京");
   System.out.println("返回数据:" + objects[0]);
} catch (java.lang.Exception e) {
   e.printStackTrace();
}

报错的原因是在client的调用过程中,client设置的namespace设置的与wsdl中显示的不同。造成找不到此方法,核对后重新调用,不在报错。