0 0

CXF客户端调用服务端,结果总返回null5

今天在学习cxf时候,通过wsdl2java生成的客户端代码,在实现调用服务端的时候,出现了问题

private static final String WEBSERVICE_URL = "http://localhost:8080/CXFServer/service/api/helloService";
	
	public static void main(String[] args) throws Exception {
		
		ClientProxyFactoryBean client = new ClientProxyFactoryBean();
		client.setServiceClass(IHelloService.class);
		client.setAddress(WEBSERVICE_URL);
		IHelloService hello = (IHelloService) client.create();
		System.out.println(hello.sayHello("Perlin"));
		
	}

 

问题:

1.在程序执行未出现任何异常情况下,服务端返回null

2.服务端debug发现传入sayHello的参数也是null

3.服务端方法可以正常执行完毕

 

很纳闷,为什么会出现这样的问题,是代码写的有问题,还是版本不兼容问题,这些都是我的猜测,请大神指点。

2014年8月08日 15:51

4个答案 按时间排序 按投票排序

0 0

请问如何解决呢

2017年12月27日 16:50
0 0

推荐用httplook抓包工具,看下客户端发送的报文,如果参数是null,说明生成的客户端有问题,换种方式。

2014年8月09日 09:11
0 0

对于web service ,我都建议用soapUI去测试一下,确定接口是可以正常返回数据的,然后再自己写代码测试一下。

2014年8月08日 18:32
0 0

首先说一下需要注意的几个地方啊
接口上面需要@webService


实现类:@webService(endpointInterface='自定义',serviceName='自定义')
endpointInterface指的是接口的具体问题,前面需要加上包名,上面列子的接口问题是默认包,所以没包名

需要说明的是这个接口也必须在客户端创建,并且里面的方法以及类存在的位置需要和服务端一致。


java.lang.UnsupportedClassVersionError: Bad version number in .class file
这个问题才是版本问题

只有你说的返回为空,又没有异常信息,你多加几个try catch捕获一下异常看看

2014年8月08日 16:39

相关推荐

Global site tag (gtag.js) - Google Analytics