wsimport简介
在JDK的bin文件夹中,有一个wsimport.exe工具,可依据wsdl文件生成相应的类文件,将生存在本地这些类文件拷贝到需要使用的项目中,就可以像调用本地的类一样调用webService提供的方法。该工具可以用于非Java的服务器,如用C#编写的WebService,通过wsimport则生成Java的客户端实现。
常用命令如下:
wsimport -encoding utf-8 -keep -d C:\Users\Administrator\git\alpha-api-app\src\main\java -p com.alpha.modules.kingdee.request -verbose http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl
-encoding utf-8 指定编码 避免乱码
-keep:是否生成java源文件
-d:指定.class文件的输出目录
-s:指定.java文件的输出目录
-p:定义生成类的包名,不定义的话有默认包名
-verbose:在控制台显示输出信息
-b:指定jaxws/jaxb绑定文件或额外的schemas
-extension:使用扩展来支持SOAP1.2
image.pngsoap的调用
@Test
public void SaveMateriel(){
List<MeterielEntity> mList = new ArrayList<>();
MeterielEntity m=new MeterielEntity();
m.setFMaterialNo("AP100000007");
m.setFMaterialName("AP100000007");
m.setFMatType("ZL");
mList.add(m);
MeterielEntity m1=new MeterielEntity();
m1.setFMaterialNo("AP100000007");
m1.setFMaterialName("AP100000007");
m1.setFMatType("ZL");
mList.add(m1);
Map<String,Object> map=new HashMap<>();
map.put("MaterielRoot", mList);
String ls=JSON.toJSONString(map);
System.out.println(ls);
RxWebservice factory =new RxWebservice();
RxWebserviceSoap rxSoap=factory.getRxWebserviceSoap();
String result=rxSoap.saveMateriel(ls);
System.out.println(result);
}
image.png
网友评论