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接口。

原文地址:https://www.cnblogs.com/myknow/p/8192719.html