1、引入依赖
<!-- axis 1.4 jar start --> <dependency> <groupId>org.apache.axis</groupId> <artifactId>axis</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>commons-discovery</groupId> <artifactId>commons-discovery</artifactId> <version>0.2</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.axis</groupId> <artifactId>axis-jaxrpc</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>org.apache.axis</groupId> <artifactId>axis-saaj</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>wsdl4j</groupId> <artifactId>wsdl4j</artifactId> <version>1.4</version> </dependency> <!-- axis 1.4 jar end -->
2、创建客户端
/** * axis调用webservice服务 * * @param wsdlURL * @param methodName * @param param * @return */ public static String callWebServiceAxis(String wsdlURL, String nameSpace, String methodName, String param) { try { // 直接引用远程的wsdl文件 Service service = new Service(); Call call = (Call)service.createCall(); call.setTargetEndpointAddress(wsdlURL); call.setOperationName(new QName(nameSpace, methodName));// 调用的方法名 call.addParameter("name", org.apache.axis.encoding.XMLType.XSD_DATE, javax.xml.rpc.ParameterMode.IN);// 接口的参数 call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);// 设置返回类型 String result = (String)call.invoke(new Object[] {param});// 给方法传递参数,并且调用方法 return result; } catch (Exception e) { return e.toString(); } }
3、测试
public static void main(String[] args) { String param = "<?xml version=\"1.0\" encoding=\"GBK\"?>\n" + " <FPXT_INPUT>\n" + " <ID>DLSB</ID>\n" + " <SHMW>NTAwMTAyMjAzMTA5MjM3NjE1Cg==</SHMW>\n" + " <DATA>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iR0JLIj8+CjxJTlBVVD4gCjxTSD41MDAxMDIyMDMxMDkyMzc2MTU8L1NIPiAgCjxaRkpIPjA8L1pGSkg+IAo8L0lOUFVUPgo=</DATA>\n" + " </FPXT_INPUT>"; String respXML = callWebServiceAxis("http://www.qdhtxxrd.com:7788/api/plat/xxfp/service/CommService?wsdl", "http://webservice.xxfp.plat.yshs.aisino.com/", "DLSBService", param); System.out.println("respXML:" + respXML); }
