java 调用 wsdl形式的webservice 示例
生活随笔
收集整理的這篇文章主要介紹了
java 调用 wsdl形式的webservice 示例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
正在開發的中間件要用到第三方提供的webservice,網上的資料稂莠不齊,java調用webservice折騰了我兩天,不就是調用URL上對應的方法嘛,尼瑪怎么這么難調用?(還是RESTFUL好用)方法太多看到頭暈眼花,我喜歡簡單明了,拿來就用的,不要搞一堆的方法,蘿莉啰嗦,寫得不清不楚,漏這漏那的,用起來不是這錯就那錯,一氣之下,小弟自己整理一個簡單步驟,與大家分享,歡迎大家狂噴!
步驟如下:
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,// 參數類型:StringParameterMode.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好啦,很簡單吧。
總結
以上是生活随笔為你收集整理的java 调用 wsdl形式的webservice 示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP Leonardo及客户案例
- 下一篇: SAP ITS mobile 简介