1. 程式人生 > 實用技巧 >呼叫Webservice介面

呼叫Webservice介面

webservice介面採用的協議是soap協議,和我們常用的http協議不同。故不能用呼叫http的形式呼叫webservice介面

soap協議:是一種輕量的、簡單的、基於XML(標準通用標記語言下的一個子集)的協議

http協議:http是標準超文字傳輸協議

如何呼叫webservice介面(我比較常用的),當然,這只是其中之一。其他的自行百度吧

  需要兩個jar包:

    api("org.apache.cxf:cxf-rt-frontend-jaxws:3.4.1")
    api('org.apache.cxf:cxf-rt-transports-http:3.4.1')

  然後需要一個呼叫的客戶端,如下:

/**
 * @author xiaoxin
 */
@Slf4j
public class WebServiceUtils {
    /**
     * @param url     請求路徑
     * @param message 報文
     * @param method  需要呼叫的方法名字
     * @return
     */
    public static String sendWsdl(String url, String message, String method) {
        //建立JaxWsDynamicClientFactory作為呼叫客戶端;
        JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
        try {
            //客戶端呼叫wsdl地址
            Client client = dcf.createClient(url);
            Object[] objects = client.invoke(method, new Object[]{message});
            return String.valueOf(objects[0]);
        } catch (Exception e) {
            log.error("呼叫webservice介面Exception{}", e);
            BusinessException.throwBusinessException(e.getMessage());
        }
        return null;
    }
}