XFire客户端调用JDK1.6的webserivce时参数为null
2016-07-12 17:48
369 查看
Webservice的服务端用JDK1.6+自带的Webservice做的,客户端用的是XFire的webservice调用的,但是传过来的参数为NULL.
XFire的调用方式是:
String wsdl = "http://192.168.1.112:8088/testService?wsdl";
try {
Client client = new Client(new URL(wsdl));
String result = client.invoke("test", new Object[]{"hello"});
} catch (MainformedURLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
服务端的代码如:
接口:
public interface ITest {
public String test(String str);
}
实现类:
@WebService(name="test", serviceName = "test")
@SOAPBinding(stype = SOAPBinding.Style.RPC)
public class TestImpl implements ITest {
@Override
public String test(String str) {
System.out.println(str);
}
}
解决办法:
在服务端的实现类上加上:@SOAPBinding(stype = SOAPBinding.Style.RPC) ,如果不写的情况下默认的类型是Document,至于RPC和Document的区别大家可以参考其他Webservice资料,不过两种类型各有优点和缺点。
代码变成:
@WebService(name="test", serviceName = "test")
@SOAPBinding(stype = SOAPBinding.Style.RPC)
public class TestImpl implements ITest {
@Override
public String test(String str) {
System.out.println(str);
}
}
JDK1.6自带的Webservice非常强大,而且不用我们额外引入jar包,而且应该将来会越来越强大,所以推荐大家使用。
XFire的调用方式是:
String wsdl = "http://192.168.1.112:8088/testService?wsdl";
try {
Client client = new Client(new URL(wsdl));
String result = client.invoke("test", new Object[]{"hello"});
} catch (MainformedURLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
服务端的代码如:
接口:
public interface ITest {
public String test(String str);
}
实现类:
@WebService(name="test", serviceName = "test")
@SOAPBinding(stype = SOAPBinding.Style.RPC)
public class TestImpl implements ITest {
@Override
public String test(String str) {
System.out.println(str);
}
}
解决办法:
在服务端的实现类上加上:@SOAPBinding(stype = SOAPBinding.Style.RPC) ,如果不写的情况下默认的类型是Document,至于RPC和Document的区别大家可以参考其他Webservice资料,不过两种类型各有优点和缺点。
代码变成:
@WebService(name="test", serviceName = "test")
@SOAPBinding(stype = SOAPBinding.Style.RPC)
public class TestImpl implements ITest {
@Override
public String test(String str) {
System.out.println(str);
}
}
JDK1.6自带的Webservice非常强大,而且不用我们额外引入jar包,而且应该将来会越来越强大,所以推荐大家使用。
相关文章推荐
- java多线程--JUC集合框架
- weblogic报java.lang.ClassCastException:com.octetstring.vde.backend.BackendRoot之解决
- Android 热补丁动态修复总结 eclipse版
- JEE框架Spring详细简介
- SpringMVC+myBatis+druid 多数据库
- JAVA正则表达式 Pattern和Matcher(转)
- sdk、jdk、jre的区别
- 使用CXF发布和调用webService(不使用Spring)
- Spring+Mybatis 切换多数据源
- 【SpringMVC整合MyBatis】整合思路与工程结构
- 将多个文本文件的内容合并为一个文件的Java实现
- Java 枚举类型(Enum)的用法详解
- 个人学习-java-jdbc 数据库连接池
- Spring aop利用jdk的InvocationHandler产生动态代理
- 一个JavaWeb工程师的进阶之路
- Spring Aop配置使用示例及实现过程和原理介绍
- springframework的一些配置
- JDK的动态代理深入解析(Proxy,InvocationHandler)
- SpringMVC框架学习(2)--SpringMVC和Mybatis的整合
- Java写入Excel