java調用wsdl的步驟如下,主要是使用第三方框架:
步驟如下:
1.下載AXIS2類庫,AXIS2是目前java調用webservice的壹個主要方法(由於更新較頻繁,請自行google該類庫的網址)
2.由於是第三方webservice,直接引入AXIS2的包就可以用了,代碼如下:?
import?java.rmi.RemoteException;import?javax.xml.rpc.ParameterMode;
import?javax.xml.rpc.ServiceException;
import?org.apache.axis.client.Call;
import?org.apache.axis.client.Service;
import?org.apache.axis.encoding.XMLType;
public?class?webServiceTest?{
public?String?invokeRemoteFuc()?{
String?endpoint?=?"http://localhost:8080/webservice/services/helloworld";
String?result?=?"no?result!";
Service?service?=?new?Service();
Call?call;
Object[]?object?=?new?Object[1];
object[0]?=?"Dear?I?miss?you";//Object是用來存儲方法的參數
try?{
call?=?(Call)?service.createCall();
call.setTargetEndpointAddress(endpoint);//?遠程調用路徑
call.setOperationName("say");//?調用的方法名
//?設置參數名:
call.addParameter("str1",?//?參數名
XMLType.XSD_STRING,//?參數類型:String
ParameterMode.IN);//?參數模式:'IN'?or?'OUT'
//?設置返回值類型:
call.setReturnType(XMLType.XSD_STRING);//?返回值類型:String?
result?=?(String)?call.invoke(object);//?遠程調用
}?catch?(ServiceException?e)?{
e.printStackTrace();
}?catch?(RemoteException?e)?{
e.printStackTrace();
}
return?result;
}
public?static?void?main(String[]?args)?{
webServiceTest?t?=?new?webServiceTest();
String?result?=?t.invokeRemoteFuc();
System.out.println(result);
}
}
該方法的原理很簡單,通過AXIS2封裝好的類設置URL和參數,直接調用就好了,我們要關註的就是設置URL,方法,還有方法的參數,其他的copy&paste好啦,很簡單吧,再看看其他的方法,我勒個去了,害我瞎搞兩天。遲點上個源碼***大家參考!