手機端調用 Java 服務端 WebService,核心取決於**服務端暴露的協議類型**。
| 協議 | 特點 | 手機端調用 |
|---|---|---|
| SOAP (WSDL) | XML 嚴格契約、WS-* 安全/事務、企業級標準 | ksoap2-android (Java) / WCF (C#) / Alamofire+XMLMapper (iOS) — 較重 |
| REST/HTTP + JSON | 輕量、語義化 URL、無狀態、瀏覽器可調試 | 原生 `HttpURLConnection` / OkHttp / Retrofit / AFNetworking / `fetch` — **首選** |
interface Api { @GET("users/{id}") suspend fun getUser(@Path("id") String id): User }
val user = Retrofit.Builder().baseUrl("https://api.example.com/").build().create(Api::class.java).getUser("123")
let url = URL(string: "https://api.example.com/api/users/123")!
let (data, _) = try await URLSession.shared.data(from: url)
let user = try JSONDecoder().decode(User.self, from: data)