1. 生成客戶端代碼
2.調用接口
import javax.xml.ws.Service;
public static NotificationServiceDevImplPortType mokaAlarmServer(Authorization authorization) throws Exception{ //創建WSDL的URL,注意不是服務地址 String wsdlUrl = "http://"+IP地址+":"+端口+"/pureportal/webservices/notification?wsdl"; //創建服務視圖 Service service = WebServiceUtil.getService(wsdlUrl, "http://impl.notification.dev.bsm.mocha.com/", "NotificationServiceDevImpl"); //獲取服務實現類 //參數解釋:serviceEndpointInterface - 服務端口(wsdl文檔中服務端口的name屬性,例如<wsdl:port name="MobileCodeWSSoap" binding="tns:MobileCodeWSSoap">) return service.getPort(NotificationServiceDevImplPortType.class); }
web service工具類
package com.kinth.util;
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
/**
* web service工具類
* @author huangshanghua
* @date 2018-01-14
*/
public class WebServiceUtil {
/**
* 獲取web service服務
*
* @param wsdlUrl
* @param namespaceURI
* @param localPart
* @return
* @throws MalformedURLException
*/
public static Service getService(String wsdlUrl,String namespaceURI, String localPart) throws MalformedURLException{
//創建WSDL的URL,注意不是服務地址
URL url = new URL(wsdlUrl);
//創建服務名稱
//1.namespaceURI - 命名空間地址 (wsdl文檔中的targetNamespace)
//2.localPart - 服務視圖名 (wsdl文檔中服務名稱,例如<wsdl:service name="MobileCodeWS">)
QName qname = new QName(namespaceURI, localPart);
//創建服務視圖
//參數解釋:
//1.wsdlDocumentLocation - wsdl地址
//2.serviceName - 服務名稱
Service service = Service.create(url, qname);
return service;
}
}

