Webservice接口的調用


一、開發webservice接口的方式

1、jdk開發。

2、使用第三方工具開發,如cxf、shiro等等。

我這邊介紹jdk方式webservice接口調用。

二、使用jdk調用webservice接口

1、選中項目 -> 右鍵 -> new -> othert -> 找到web service client 打開-> next -> 在wsdl url 輸入 接口地址(格式:http://www.webxml.com.cn/WebServices/TranslatorWebService.asmx?wsdl) -> next.... -> 生成類文件。

 

 生成類文件就完成了。

2、調用過程:

 1 package ww;
 2 
 3 import java.util.List;
 4 
 5 import cc.ArrayOfString;
 6 import cc.TranslatorWebService;
 7 import cc.TranslatorWebServiceSoap;
 8 
 9 public class cccd {
10 
11     public static void main(String[] args) {
12         // TODO Auto-generated method stub
13         TranslatorWebServiceSoap as =  new TranslatorWebService().getTranslatorWebServiceSoap();
14         String aw = as.helloWebXml();
15         System.out.println(aw);
16         List<String> ss = as.getEnCnTwoWayTranslator("dog").getString();
17         System.out.println(ss.toString());
18     }
19 
20 }

結果:

或則用cmd命名得到

wsimport -s G:\\workspace\\webService\\TheClient\\src -p com.hyan.client -keep http://localhost:9001/Service/ServiceHello?wsdl

三、雜談:

A:關於jax-ws、jax-rs的區別

    JAX-WS是針對WebService。而JAX-RS是針對RESTful HTTP Service。

    可以說這是兩種風格的SOA架構風格:

    前者以動詞為中心,指定的是每次執行函數,大力支持的廠商如BEA,IBM,MS基本都是開發工具廠商,沒有開發工具來做WebService簡直不是人干的活,呵呵)

    后者以名詞為中心,每次執行的時候指的是資源,大力支持的廠商如Google,Yahoo,亞馬孫等都是服務運營廠商,實在是REST簡潔好用,又能滿足絕大部分需求)。

 

    JAX-WS是面向消息的,每次請求的時候指定了請求的方法。JAX-RS是面向資源的。后則將網絡上的東西當做一種資源,每次請求都是對該資源進行操作,比如對資源的

  增刪查改。

    在網上看到這么一句話:JAVA 中共有三種WebService 規范,分別是JAXM&SAAJ、JAX-WS(JAX-RPC)、JAX-RS。我暫時不清楚他們能不能叫做webservice服務規

  范,而且這個服務規范是什么意思?

  http://blog.csdn.net/bapinggaitianli/article/details/46518705

B:可能遇到問題及解決方案

(1)項目在編譯時報錯:

    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commous/httpclient/methods/RequestEntity

  則需要下載Apachehttpclient開發包,然后將commons-httpclient-3.1-rc1.jar添加到工程中。

 

  下載地址 - http://jakarta.apache.org/site/downloads/downloads_commons-httpclient.cgi

  發行注記 - http://www.apache.org/dist/jakarta/commons/httpclient/RELEASE-NOTES.txt

 

(2)生成的代理類中如果出現以下錯誤:

    Syntax error,annotations are only available if source level is 5.0

    解決辦法:Project->JavaCompiler->Compiler Compliance Level->Select "5.0" or Higher

              Project->Java Build Path->Libraries->Add Library...->JUnit->Select "JUnit 4.0"->Finish

    經過以上設置后可順利解決問題。

 


http://blog.csdn.net/qq_20545159/article/details/47903513     一些用於測試用的webservice接口。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM