2种方式:axis2
服务端:
axis2 下载war包,安装axix2 的bin,还要安装eclipse插件.
axis 客户端:
生成客户要调用的必要文件
soap 1.1
可以用 wsdl2java 或 wsimport 生成客户端调用代码
建议客户端 用 wsimport
F:Webaxis2-1.7.8in>wsdl2java -uri http://localhost:8002/dms.ws/services/dmsService?wsdl -p dms.ws -s -o stub --noBuildXML
代码:
package dms.ws; import java.util.HashMap; import java.util.UUID; import com.google.gson.Gson; public class MainApp { public static void Test1() { try { DmsServiceStub stub = new DmsServiceStub(); DmsServiceStub.ReceiveMaterielData inst0 = new DmsServiceStub.ReceiveMaterielData(); String headerData = null; //连接的账号信息,,json格式的字符串 { Gson gson = new Gson(); HashMap<String,String> map = new HashMap<String,String>(); map.put("Username", "dms123"); map.put("Password","dms123456"); headerData = gson.toJson(map); } String bodyData = null; //实体数据,格式的字符串 { Gson gson = new Gson(); HashMap<String,String> map = new HashMap<String,String>(); map.put("GUID",UUID.randomUUID().toString()); map.put("orgCode","HZHBJ001"); //... bodyData = gson.toJson(map); } inst0.setHeaderData(headerData); // inst0.setBodyData(bodyData); DmsServiceStub.ReceiveMaterielDataResponse resp0 = stub.receiveMaterielData(inst0); System.out.println(resp0.get_return()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) { Test1(); } }
建议客户端 用 wsimport
wsimport -d generated http://localhost:8002/dms.ws/services/dmsService?wsdl -keep
package dms.ws; public class MainApp { public static void main(String[] args) { DmsService ws = new DmsService(); DmsServicePortType spt = ws.getPort(DmsServicePortType.class); String headerData = "{"Username":"dms123","Password":"dms123456"}"; String response = spt.receiveMaterielData(headerData, null); System.out.println(response); } }