最近在做java的webservice的开发,主要是做接口开发。发现了一些细节的问题:
1、使用自定义的对象,虽然是可以的,这种方式,局限于给客户端调用的时候
必须生成客户端代码才可以通过调用,若是通过动态的wsdl来调用则是通不过的、
所以这点需要注意,尽量少用自定义的对象进行返回,尽量使用标准的类型。否则
调试起来是非常麻烦的,这个问题我也是在通过排查发现的。
2、webservice的开发可以通过xml的形式进行返回,
3、webservice的开发也可以通过json的形式进行返回
4、webservice的开发还可以通过xml进行传输传递参数。
这里说下有关cxf的动态调用方式有:
String xmlStr = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>"
+ "<user><uid>user01</uid><password>111111</password></user>";
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
org.apache.cxf.endpoint.Client client = dcf.createClient("http://192.168.1.206:8080/treemana/services/userApp?wsdl");
Object[] objects=client.invoke("createUser",xmlStr);
System.out.println(objects[0].toString());
所需的jar包如见附件下载