如何调用在WSDL URL Web服务在Java中?(How to invoke web servi

2019-07-20 21:48发布

我需要调用我正在创建一个Java Web应用程序中的一些Web服务方法。

每次用户注册,我想打电话给如newUser上通过Java一个WSDL URL方法。 我需要传递一些参数与要求。

是否有任何内置的Java类,或任何可公开获得的类,它可以使这个容易,即我刚才提供的网址和参数,并执行该请求并返回响应?

如果不是,什么是Java应用程序中的WSDL调用Web服务的标准方式?

Answer 1:

在部署的WSDL URL运行wsimport的,你可以从你的JDK运行:

wsimport -p client -keep http://localhost:8080/calculator?wsdl

这一步将生成和编译一些类。 通知-keep切换,你需要它保持生成的Java源文件。

Calculator.java - 服务端点接口或SEI
CalculatorService的 - 生成的服务,它实例化

public class MyClientServiceImpl {
    public static void main(String args[]){

    @Override
    public Integer add(int a , int b) {
       CalculatorService service = new CalculatorService();
       Calculator calculatorProxy = service.getCalculatorPort();            
        /**
         * Invoke the remote method
         */
        int result = calculatorProxy.add(10, 20);
        System.out.println("Sum of 10+20 = "+result);
    }
}

如果您使用的是Java EE 6支持的容器,那么你可以通过这种方式使用它,

public class MyClientServiceImpl implements MyClientService {

    @WebServiceRef(wsdlLocation = "http://localhost:8080/calculator?wsdl", 
value = CalculatorService.class)
    private Calculator service;

    @Override
    public Integer add(int a , int b) {
        return service.add(a,b);
    }
}


文章来源: How to invoke web services on WSDL URL in Java?