北京延庆城乡建设部网站首页,图片网站怎么建设,net可以开发wordpress,智慧团建官方登录目录 第一章、起因1.1#xff09;学习原因1.2#xff09;提问的过程#xff08;逐步提出问题#xff09;1、#xff1f;wsdl链接的含义#xff0c;有什么作用#xff1f;2、什么是wsdl文档#xff1f;3、如何阅读wsdl文件#xff1f;4、wsdl文件有什么作用#xff1f… 目录 第一章、起因1.1学习原因1.2提问的过程逐步提出问题1、wsdl链接的含义有什么作用2、什么是wsdl文档3、如何阅读wsdl文件4、wsdl文件有什么作用5、什么是Web服务Web Service是什么6、如何使用wsdl文件生成Java代码7、生成Java代码包含哪些内容有什么作用8、如何将生成的Java类集成到项目中实现与Web服务的通信9、如何调用生成的Java类中的方法    第二章、学习过程逐步解决问题过程2.1什么是WSDL2.1.1WSDL链接的含义有什么作用2.1.2什么是wsdl文档2.1.3如何阅读WSDL文档 2.2Web Service技术2.2.1Web Service技术介绍2.2.2通过wsdl文件生成客户端代码Java代码2.2.3生成Java代码包含哪些内容有什么作用2.2.4生成的Java类集成到项目中并访问Web服务 2.3如何调用生成的Java类中的方法 第三章、3.1发送soap请求3.23.3 第四章、4.14.24.3备注Axis 1.4依赖的jar包  友情提醒:  先看文章目录大致了解文章知识点结构点击文章目录可直接跳转到文章指定位置。 第一章、起因 
1.1学习原因 
起因 领导啥也没说直接给了个wsdl地址类似于下面这种后面拼个wsdl: 
http://127.0.0.1:8080/xxxx/hello?wsdl1.2提问的过程逐步提出问题 
每个问题的详细答案都在后面的文章中 
1、wsdl链接的含义有什么作用 
简单回答返回WSDL描述文档 
2、什么是wsdl文档 
简单回答一个xml格式的描述文档可以被用来生成客户端代码Java代码以便与Web服务进行通信。 
3、如何阅读wsdl文件 
简单回答从下往上阅读 
4、wsdl文件有什么作用 
简单回答描述web服务生产Java代码 
5、什么是Web服务Web Service是什么 
简单回答Web Service部署完后可以通过URL访问Web服务 
6、如何使用wsdl文件生成Java代码 
简单回答使用wsim命令 
7、生成Java代码包含哪些内容有什么作用 
简单回答在本地通过这些Java代码客户端代码访问调用远程Web服务中的方法 
8、如何将生成的Java类集成到项目中实现与Web服务的通信 
简单回答将生成的客户端代码复制到项目中添加客户端代码需要的依赖包编写代码调用服务。 
9、如何调用生成的Java类中的方法 
第二章、学习过程逐步解决问题过程 
2.1什么是WSDL 
2.1.1WSDL链接的含义有什么作用 
刚看到的时候比较懵先尝试访问了一下这个链接http://127.0.0.1:8080/xxxx/hello?wsdl返回了一个WSDL文件文件内容为XML格式  
2.1.2什么是wsdl文档 
WSDL是XML格式的文档有以下作用 
①标准化描述web服务 WSDL是用XML的语言来标准化描述Web服务的描述语言Web Services Description Language的缩写文件内容为xml格式以.wsdl结尾。用于描述如何访问特定的Web服务以及如何与其进行交互。包括web服务的具体功能接口调用方式、输入参数、输出参数以及相关的消息格式。 
②发现可用的Web服务 描述Web服务的端点endpoint即客户端可以访问的服务位置以及使用的通信协议和绑定信息。可以将端口视为Web服务的端点。 
③定义通信协议和消息格式 描述客户端和服务端之间交换的消息的结构和格式以便双方能够理解和解析这些消息。对于分布式系统和跨平台集成非常重要。 
④生成客户端代码Java代码 WSDL文档可以用来生成客户端代码Java代码以便与Web服务进行通信。 
2.1.3如何阅读WSDL文档 
WSDL文档元素阅读顺序如下从文档最下放找到service节点然后按如下的顺序往上看 
元素介绍1、服务service节点定义了Web服务的具体网络地址Endpoint也就是服务的URL。service标签包含了服务端端口port属性对应2、服务端口port节点通常包含Binding属性将抽象操作映射到具体的通信协议和消息格式例如SOAP协议。通过Binding属性找到binding节点3、绑定Bindingbinding节点中包含具体的绑定信息含有type属性。通过type属性找到相关联的端口节点portType4、端口类型PortType节点可以理解为一个类一个接口。PortType里定义包含了多个操作operation 节点5、操作operation节点 相当于该类里有一个方法name就是方法名称。operation 包含了input节点output节点和fault节点不常用6、输入输出Input和output节点input节点对应了Web服务的输入消息即参数的定义。output节点对应了Web服务输出消息即返回值的定义。他们有个属性叫做message通过message属性找到对应message节点。7、消息message节点描述了消息的组成部分即消息的参数和类型。一个消息包含多个part节点可以传递一个或者多个参数。8、消息组成part节点part是消息的组成部分多个part组成一个消息。part包含属性element对应element节点。9、元素element节点定义了数据的类型。通过name属性定义参数的名称通过type属性定义参数的类型。2.2Web Service技术 
2.2.1Web Service技术介绍 
Web Service是什么  是一项技术能使得运行在不同机器上的不同应用无须借助第三方软件或硬件 就可相互交换数据或集成。依据Web Service规范实施的应用之间 无论它们所使用的语言、 平台或内部协议是什么 都可以相互交换数据。  Web Service如何部署 Web Service的部署通常需要遵循以下步骤 
①构建Web Service编写符合标准和规范的Web Service代码比如Java代码 
②打包Web Service将Web Service打包成WAR文件或EAR文件。 
③部署到Web容器将打包好的Web Service部署到目标Web容器中比如tomcat服务器用于托管和运行Web应用程序的服务器环境处理HTTP请求、执行Servlet和JSP等Web组件 
④验证部署通过相应的URL进行访问Web服务确保Web Service已经成功部署到Web容器。 
2.2.2通过wsdl文件生成客户端代码Java代码 
只要安装了JDK1.6以上版本就可以通过wsimport命令使WSDL文件生成Java代码客户端代码以便客户端可以访问已发布的Web服务。wsimport命令是来自JAX-WS它是JDK 1.6及以上版本的一部分。 示例 
wsimport -s D:\workspace\src -p main.java.com.tools -keep http://localhost:8080/HelloWorld?wsdl-s选项指定生成的Java源文件的绝对路径一般都是src结尾 -p选项指定生成的Java代码文件的目录生成代码所在包名也就是项目中src后面的目录 -keep选项表示保留生成的Java源文件在指定的输出目录中而不会将其删除。 URL地址是WSDL文件的地址。 
2.2.3生成Java代码包含哪些内容有什么作用 
这些Java代码包括用于调用服务的框架和类。这些生成的类将充当客户端与服务端进行通信的接口。可以用于创建客户端在Java应用程序中调用远程Web服务的方法并处理返回的数据。 生成的Java代码通常包括以下内容 
Service接口文件包含了Web服务的方法定义和参数信息。通常以Service结尾比如HelloWorldService.java。代表Web服务接口的Java接口
代表Web服务数据类型的Java类
代表Web服务方法的Java方法如图  
这些类和方法是根据wsdl文件中定义的服务、端点、操作和消息结构生成的生成的Java代码中包含了与SOAP协议相关的类和方法可以帮助你构建符合SOAP协议要求的消息并将这些消息发送到远程服务端点。因此可以直接与远程服务进行交互调用远程服务提供的操作并获取相应的响应数据。 
2.2.4生成的Java类集成到项目中并访问Web服务 
①将生成的Java类文件复制到项目的源代码目录中通常是src/main/java/xxx/xx 
②如果生成的Java类使用了其他依赖项。需要通过构建工具如Maven或Gradle的配置文件例如pom.xml或build.gradle来添加依赖。 
③如果生成的Java类是用于与Web服务进行通信的客户端代码需要编写代码来调用这些类以实现与Web服务的交互。这可能涉及创建客户端实例、调用Web服务的方法等操作。 
import com.example.weather.Weather; // 导入生成的Java类public class WeatherClient {public static void main(String[] args) {// 创建Web服务客户端实例Weather weatherService  new Weather();// 调用Web服务的方法String result  weatherService.getWeather(New York);// 处理返回结果System.out.println(Weather in New York:   result);}
}2.3如何调用生成的Java类中的方法 
第三章、 
3.1发送soap请求 
使用wsdl文件生成Java代码后通常需要发送SOAP请求。SOAP请求是一种基于XML的消息协议用于在分布式应用程序之间进行通信。在生成的Java代码中通常会包含与SOAP请求相关的类和方法以便你可以使用这些类和方法来构建和发送SOAP请求到特定的Web服务端点。SOAP请求通常包括对应的操作、输入参数和其他必要的信息以便与Web服务进行交互。 使用wsdl文件生成Java代码后怎么发送soap请求 
回答 
使用wsdl文件生成Java代码后你可以使用生成的Java类和方法来构建和发送SOAP请求。通常你需要执行以下步骤 
创建一个SOAP消息使用生成的Java类中的方法创建一个符合要求的SOAP消息。 
指定SOAP服务端点设置SOAP消息的目标地址即SOAP服务的端点地址。 
发送SOAP请求使用生成的Java类中的方法将构建好的SOAP消息发送到指定的SOAP服务端点。 
以下是一个简单的示例代码演示如何使用生成的Java类发送SOAP请求 
// 创建一个实例
YourGeneratedService service  new YourGeneratedService();
YourGeneratedPortType port  service.getYourGeneratedPort();// 创建一个SOAP消息
YourRequestType request  new YourRequestType();
// 设置请求参数
request.setParam1(value1);
request.setParam2(value2);// 发送SOAP请求并获取响应
YourResponseType response  port.yourOperation(request);在这个示例中YourGeneratedService和YourGeneratedPortType是根据wsdl文件生成的Java类YourRequestType和YourResponseType是根据wsdl文件中定义的消息结构生成的Java类。yourOperation是根据wsdl文件中定义的操作生成的Java方法用于发送SOAP请求并获取响应。 
3.2 
3.3 
第四章、 
4.1 
4.2 
4.3备注Axis 1.4依赖的jar包 
Axis 1.4依赖的jar包wsdl4j的包应该使用1.6.2 
!-- axis 1.4 jar start --dependencygroupIdorg.apache.axis/groupIdartifactIdaxis/artifactIdversion1.4/version/dependencydependencygroupIdcommons-discovery/groupIdartifactIdcommons-discovery/artifactIdversion0.2/versionexclusionsexclusiongroupIdcommons-logging/groupIdartifactIdcommons-logging/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.apache.axis/groupIdartifactIdaxis-jaxrpc/artifactIdversion1.4/version/dependencydependencygroupIdorg.apache.axis/groupIdartifactIdaxis-saaj/artifactIdversion1.4/version/dependencydependencygroupIdwsdl4j/groupIdartifactIdwsdl4j/artifactIdversion1.6.2/version/dependency!-- axis 1.4 jar end --