javawebservice客戶端
㈠ 為什麼java中webservice客戶端調用都是返回object[],為什麼不是object,
object[]是個數組,裡面可以存多個對象,而object[0]是取得這個數組中第一個對象,如果object[]里有多個對象時,你可能要用到object[1]、object[2]等,你可以看下
webservice
客戶端調用的方法的源代碼,看它的
返回值
是怎樣寫的,應該就明白了
㈡ java客戶端調用webservice 超時問題
用多線程來處理類似問題
將調用這個WebService的程序放到一個獨立線程A中,再創建另一個線程B用來計時,線程A和線程B共享一個變數responseOK。
在線程A中調用WebService之前啟動線程B,成功返回後設定responseOK=true。
線程B啟動後計時,如果responseOK==true則停止計時,如果計時超過20秒,則終止線程A並返回錯誤信息。
似乎webService調用的時候如果服務端超時應該會有異常觸發的,截獲此異常即可。
㈢ webservice中怎樣用java寫客戶端程序()
基於AXIS的web service:
1 比如要建一個Server.java類的web service
public class Server {
public String printInfo(String name){
return "Hello,"+name;
}
}
2 把Server.java改為Server.Jws放到
…\Tomcat 5.5\webapps\axis中,重啟伺服器
3 訪問http://localhost:8080/axis/Server.jws?wsdl
4 在cmd中輸入 cd D:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\axis\WEB-INF
輸入命令:Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/Server.jws?wsdl
5 找到…\Tomcat 5.5\webapps\axis\WEB-INF下生成的localhost文件夾復制到工程中
6 建一個Client端的類進行測試:
public class Client {
public static void main(String arg[]) throws ServiceException, RemoteException{
ServerService ss=new ServerServiceLocator();
Server s=ss.getServer();
System.out.println("............"+s.printInfo("shiyou"));
}
}
㈣ java 有沒有對webservice封裝客戶端的工具
有啊,比如cxf
㈤ Java客戶端調用Webservice介面流程
給你看看以前寫的獲取電話號碼歸屬地的代碼的三種方法,然後你就懂了。
importjava.io.ByteArrayOutputStream;
importjava.io.FileInputStream;
importjava.io.IOException;
importjava.io.InputStream;
importjava.net.HttpURLConnection;
importjava.net.URL;
importorg.apache.commons.httpclient.HttpClient;
importorg.apache.commons.httpclient.HttpException;
importorg.apache.commons.httpclient.methods.PostMethod;
publicclassMobileCodeService{
publicvoidhttpGet(Stringmobile,StringuserID)throwsException
{
//http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo?mobileCode=string&userID=string
URLurl=newURL("http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo?mobileCode="+mobile+"&userID="+userID);
HttpURLConnectionconn=(HttpURLConnection)url.openConnection();
conn.setConnectTimeout(5000);
conn.setRequestMethod("GET");
if(conn.getResponseCode()==HttpURLConnection.HTTP_OK)//200
{
InputStreamis=conn.getInputStream();
=newByteArrayOutputStream();//
byte[]buf=newbyte[1024];
intlen=-1;
while((len=is.read(buf))!=-1)
{
//獲取結果
arrayOutputStream.write(buf,0,len);
}
System.out.println("Get方式獲取的數據是:"+arrayOutputStream.toString());
arrayOutputStream.close();
is.close();
}
}
publicvoidhttpPost(Stringmobile,StringuserID)throwsHttpException,IOException
{
//訪問路徑http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo
//HttpClient訪問
HttpClienthttpClient=newHttpClient();
PostMethodpm=newPostMethod("http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo");
pm.setParameter("mobileCode",mobile);
pm.setParameter("userID",userID);
intcode=httpClient.executeMethod(pm);
System.out.println("狀態碼:"+code);
//獲取結果
Stringresult=pm.getResponseBodyAsString();
System.out.println("獲取到的數據是:"+result);
}
publicvoidSOAP()throwsException
{
HttpClientclient=newHttpClient();
PostMethodmethod=newPostMethod("http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx");
//設置訪問方法的參數
method.setRequestBody(newFileInputStream("C:\soap.xml"));
method.setRequestHeader("Content-Type","text/xml;charset=utf-8");
intcode=client.executeMethod(method);
System.out.println("狀態碼:"+code);
//獲取結果
Stringresult=method.getResponseBodyAsString();
System.out.println("獲取到的數據是:"+result);
}
publicstaticvoidmain(String[]args)throwsException{
MobileCodeServicemcs=newMobileCodeService();
mcs.httpGet("18524012513","");
//mcs.httpPost("18524012513","");
//mcs.SOAP();
}
}
㈥ Java調用webservice介面,一台客戶端成功,一台客戶端失敗
如果可以的話,調用的時候,在服務端上面打斷點。這樣就知道是真的超時,還是沒連接上。不能打斷點,就在A上面,先測試一下IP埠是不是通的。
㈦ 關於Webservice介面的Java客戶端調用
String endpoint="http://localhost:8080/xxx/services/userservice?wsdl";
String id = "11111";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new URL(endpoint));
call.setOperationName("webservice方法名");
String res = (String) call.invoke(new Object[] {id});
看了你的描述覺得你把webservice想得太復雜化了,其實就是一個jar包和幾個類。
以上就是最簡單的webservice客戶端用法,和反射有點像。當然返回值不一定是String,返回的類型和格式要問服務提供方。
我用的是axis的,我不了解websphere什麼的,但是webservice就是那麼易用的東西。
㈧ java中webservice中的客戶端和服務端是什麼意思
可以這樣理解
手機的qq 客戶端 qq需要的一些數據需要從騰訊的 伺服器上下載
也可以看成上傳文件 下載文件
重在自己把意思理解到就行 代碼 還有格式
㈨ java webservice客戶端代碼不生成可以嗎
WebService一般是做介面的,如果你要進行客戶端的調用,則需要生成客戶端代碼。客戶端代碼可以通過工具生成的,比如axis和axis2等都可以,如果你不願意自動生成則需要手動編寫了。
㈩ java開發webservice客戶端時,使用axis需要哪些jar包
http://axis.apache.org/axis2/java/core/download.cgi