首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Java 調用 WebService 兩種方式:手寫 Axis 代碼與 Eclipse 自動生成 Client

     編輯:Java 綜合教學

Java 調用 WebService 接口實戰

主要兩種方式:手寫 Axis 代碼、Eclipse 自動生成 Client 代碼。後者省事,原理一致。

方式一:手寫 Axis 代碼

public class TestWebService {
    public static String getResult() throws Exception {
        String endpoint = "WebService服務地址";
        Service service = new Service();
        Call call = (Call) service.createCall();
        call.setTargetEndpointAddress(new java.net.URL(endpoint));

        // SOAP Header 認證示例
        Name headerName = new PrefixedQName(new QName("命名空間URL", "string_itemName"));
        SOAPHeaderElement header = new SOAPHeaderElement(headerName);
        header.addTextNode("blablabla");
        call.addHeader(header);

        // 定義操作與參數
        OperationDesc oper = new OperationDesc();
        oper.setName("opName");
        oper.addParameter(new ParameterDesc(new QName("", "arg0"), ParameterDesc.IN,
            new QName("https://www.w3.org/2001/XMLSchema", "string"), String.class));
        // ... arg1, arg2 同理
        oper.setReturnType(new QName("https://www.w3.org/2001/XMLSchema", "string"));
        oper.setStyle(Style.WRAPPED);
        oper.setUse(Use.LITERAL);
        call.setOperation(oper);
        call.setOperationName(new QName("命名空間URL", "opName"));

        return (String) call.invoke(new Object[]{"arg0値", "arg1値"});
    }
    public static void main(String[] args) { /* 調用並捕獲異常 */ }
}

方式二:Eclipse 自動生成 WebService Client (推薦)

  1. New → Other → Web Service Client。
  2. Service definition 輸入 WSDL 地址,Finish。
  3. 生成 Proxy 類 (如 YourWebServiceNameProxy)。
String endpoint = "服務地址";
YourWebServiceNameProxy proxy = new YourWebServiceNameProxy(endpoint);
try {
    String result = proxy.opMethod("arg0", "arg1");
    System.out.println(result);
} catch (Exception e) { e.printStackTrace(); }

自動生成方式屏蔽了底層 SOAP 組裝細節,開發效率高,適合多數場景。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved