JAVA调用webservice接口
首先请求就不用说了
在对用的controller里面写调用的接口信息
前提是需要引入下面记得jar包
maven依赖地址是
<dependency> <groupId>org.apache.axis</groupId> <artifactId>axis</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>javax.xml</groupId> <artifactId>jaxrpc</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>commons-discovery</groupId> <artifactId>commons-discovery</artifactId> <version>0.2</version> </dependency> <dependency> <groupId>wsdl4j</groupId> <artifactId>wsdl4j</artifactId> <version>1.6.2</version> </dependency> <dependency> <groupId>axis</groupId> <artifactId>axis-saaj</artifactId> <version>1.2.1</version> </dependency>
@RestController @RequestMapping("/webService") public class WebServiceController { @RequestMapping(value = "/add") public String add(User user) { Service service = new Service(); String url = "http://localhost:8080/fight/services/HelloWorld?wsdl"; try { Call call = (Call)service.createCall(); call.setTargetEndpointAddress(new java.net.URL(url)); call.setOperationName(new QName("http://example","sayOMg")); call.addParameter(new QName("from"),org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN); call.setUseSOAPAction(true); call.setReturnType(XMLType.SOAP_STRING); String result = (String)call.invoke(new Object[]{"Tom"}); System.out.println(result); return result; } catch (Exception e) { e.printStackTrace(); } return null; } }