参考:https://blog.csdn.net/hgx_suiyuesusu/article/details/88918192
用。

Web service建好以后,你或者其他人就会去调用它。简单对象访问协议(SOAP)提供了标准的RPC方法来调用Web
service。实际上,SOAP在这里有点用词不当:它意味着下面的Web
service是以对象的方式表示的,但事实并不一定如此:你完全可以把你的Web
service写成一系列的C函数,并仍然使用SOAP进行调用。SOAP规范定义了SOAP消息的格式,以及怎样通过HTTP协议来使用SOAP。SOAP也是基于XML(标准通用标记语言下的一个子集)和XSD的,XML是SOAP的数据编码方式。
你会怎样向别人介绍你的Web
service有什么功能,以及每个函数调用时的参数呢?你可能会自己写一套文档,你甚至可能会口头上告诉需要使用你的Web
service的人。这些非正式的方法至少都有一个严重的问题:当程序员坐到电脑前,想要使用你的Web
service的时候,他们的工具(如Visual Studio)无法给他们提供任何帮助,因为这些工具根本就不了解你的Web service。
解决方法是:用机器能阅读的方式提供一个正式的描述文档。Web service描述语言(WSDL)就是这样一个基于XML(标准通用标记语言下的一个子集)的语言,用于描述Web service及其函数、参数和返回值。WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应Web service的代码。
Universal Description, Discovery and Integration
为加速Web Service的推广、加强Web
Service的互操作能力而推出的一个计划,基于标准的服务描述和发现的规范(specification)。
以资源共享的方式由多个运作者一起以Web Service的形式运作UDDI商业注册中心。
UDDI计划的核心组件是UDDI商业注册,它使用XML文档来描述企业及其提供的Web Service。
UDDI商业注册提供三种信息:
White Page包含地址、联系方法、已知的企业标识。
Yellow Page包含基于标准分类法的行业类别。
Green Page包含关于该企业所提供的Web
Service的技术信息,其形式可能是指向文件或URL的指针,而这些文件或URL是为服务发现机制服务的。


org.apache.cxf cxf-rt-frontend-jaxws 3.2.7 org.apache.cxf cxf-rt-transports-http-jetty 3.2.7 import javax.jws.WebService; @WebService public interface Demo { String sayHello(String name, int age); } public class DemoService implements Demo { @Override public String sayHello(String name, int age) { return "Hello!!!" + name + "(" + age + " years old)"; } } import org.apache.cxf.endpoint.Server; import org.apache.cxf.jaxws.JaxWsServerFactoryBean; public class MainService { public static void main(String[] args) { JaxWsServerFactoryBean jaxWsServerFactoryBean = new JaxWsServerFactoryBean(); jaxWsServerFactoryBean.setAddress("http://localhost:8080/demo"); jaxWsServerFactoryBean.setServiceClass(DemoService.class); Server server = jaxWsServerFactoryBean.create(); server.start(); System.out.println("demo服务启动 。。。。"); } } import com.hgx.web.service.demo.Demo; import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; public class MainClient { public static void main(String[] args) { JaxWsProxyFactoryBean jaxWsProxyFactoryBean = new JaxWsProxyFactoryBean(); jaxWsProxyFactoryBean.setAddress("http://localhost:8080/demo"); jaxWsProxyFactoryBean.setServiceClass(Demo.class); Demo demo = (Demo) jaxWsProxyFactoryBean.create(); System.out.println(demo.sayHello("hgx", 24)); } } soap:Server No binding operation info while invoking unknown method with params unknown. 
Jack 16 Hello, Jack(16 years old) 
定义 web service 使用的数据类型 每个消息均由一个或多个部件组成。可以把它当做java中一个函数调用的参数。 它类似Java中的一个函数库(或一个模块、或一个类) 为每个端口定义消息格式和协议细节。 | 标签 | 描述 |
|---|---|
| name | 我们java程序中服务接口的实现类,SEI定义是:服务接口类+Service后缀,Service自动追加 |
| targetNamespace | 命名空间: 相当于Java里面的package它刚好是和我们Java定义中的包名相反 |
| 其它 | 不变化,不关心 |
| xmlns:tns | 相当于Java里面的import, 包名反转 |




