共計 1686 個字符,預計需要花費 5 分鐘才能閱讀完成。
使用 XFire 調用 WebService 接口的步驟如下:
- 添加 XFire 的依賴
<dependency>
<groupId>org.codehaus.xfire</groupId>
<artifactId>xfire-core</artifactId>
<version>1.2.6</version>
</dependency>
- 創建一個 XFire 的 Service 對象
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.client.Client;
import org.codehaus.xfire.transport.http.CommonsHttpMessageSender;
Service serviceModel = new ObjectServiceFactory().create(serviceClass, serviceName, namespace, endpoint);
XFire xfire = XFireFactory.newInstance().getXFire();
serviceModel.setProperty(CommonsHttpMessageSender.HTTP_CLIENT, new HttpClient());
Client client = new Client(serviceModel, xfire.getTransportManager(), xfire.getBindingProvider());
- 設置 WebService 的地址
client.setUrl("http://localhost:8080/mywebservice");
- 調用 WebService 的方法
Object[] result = client.invoke(operationName, params);
完整的示例代碼如下:
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.client.Client;
import org.codehaus.xfire.transport.http.CommonsHttpMessageSender;
import org.apache.commons.httpclient.HttpClient;
public class XFireWebServiceClient {public static void main(String[] args) throws Exception {// 創建 WebService 的 Service 對象
Service service = new ObjectServiceFactory().create(ServiceInterface.class, "service", "http://localhost:8080/Service", null);
// 創建 XFire 對象
XFire xfire = XFireFactory.newInstance().getXFire();
// 創建 WebService 的 Client 對象
Client client = new Client(service, xfire.getTransportManager(), xfire.getBindingProvider());
// 設置 WebService 的地址
client.setUrl("http://localhost:8080/mywebservice");
// 調用 WebService 的方法
Object[] result = client.invoke("operationName", new Object[]{"param1", "param2"});
}
}
注意:在調用 WebService 接口之前,需要確保 WebService 的地址、命名空間、接口名和方法名等參數正確。
丸趣 TV 網 – 提供最優質的資源集合!
正文完