当前位置: 首页 > news >正文

烽火台网站备案系统网站

烽火台网站,备案系统网站,erp是什么,公司如何做网站宣传这是从Alessio Soldano编辑的Advanced JAX-WS Web Services手册中摘录的示例章节。 第一章介绍了自底向上创建Web服务端点的方法。 它允许非常快地将现有bean作为Web Service端点公开#xff1a;在大多数情况下#xff0c;将类转换为端点只需在代码中添加少量注释即可。 但… 这是从Alessio Soldano编辑的Advanced JAX-WS Web Services手册中摘录的示例章节。 第一章介绍了自底向上创建Web服务端点的方法。 它允许非常快地将现有bean作为Web Service端点公开在大多数情况下将类转换为端点只需在代码中添加少量注释即可。 但是当使用已定义的合同开发服务时使用自顶向下方法要简单得多有效因为wsdl-to-java工具可以生成与WSDL匹配的带注释的代码。 这是在多种情况下例如以下情况的首选解决方案 创建一个服务该服务遵循预先开发的XML Schema和WSDL 公开符合第三方规定的合同的服务例如使用已定义的一组消息调用该服务的供应商 在保持与较旧客户端的兼容性的同时替换现有Web Service的实现不得更改合同。 在下一节中将提供一个自上而下的 Web Service端点开发示例以及有关开发人员在编码时必须意识到的约束的一些详细信息无论选择哪种方法。 使用自上而下的方法创建Web服务 为了建立一个包括Web服务端点和JAX-WS客户端的完整项目我们将使用两个Maven项目。 第一个将是一个标准的webapp-javaee7项目其中将包含Web服务端点。 第二个只是一个快速启动的Maven项目它将对Web Service执行一个测试用例。 让我们像往常一样开始创建服务器项目 mvn -DarchetypeGroupIdorg.codehaus.mojo.archetypes -DarchetypeArtifactIdwebapp-javaee7 -DarchetypeVersion0.4-SNAPSHOT -DarchetypeRepositoryhttps://nexus.codehaus.org/content/repositories/snapshots -DgroupIdcom.itbuzzpress.chapter2.wsdemo -DartifactIdws-demo2 -Dversion1.0 -Dpackagecom.itbuzzpress.chapter2.wsdemo -Darchetype.interactivefalse --batch-mode --update-snapshots archetype:generate 下一步将根据WSDL合同创建Web服务接口和存根。 步骤与为同一合同建立客户的步骤相似。 唯一的区别是wsconsume脚本会将生成的源文件输出到我们的Maven项目中 $ wsconsume.bat -k CustomerService.wsdl -o ws-demo-wsdl\src\main\java 除了本章开始讨论的生成的类之外我们还需要提供一个包含Web服务功能的服务端点实现 WebService(endpointInterfaceorg.jboss.test.ws.jaxws.samples.webresult.Customer) public class CustomerImpl implements Customer {public CustomerRecord locateCustomer(String firstName, String lastName, USAddress address) {CustomerRecord cr new CustomerRecord();cr.setFirstName(firstName);cr.setLastName(lastName);return cr;} } 端点实现类实现端点接口并通过WebService批注引用它。 我们的WebService类什么也没做只是使用接收到的参数作为输入创建一个CustomerRecord对象。 在一个真实的示例中您将使用例如持久层来收集CustomerRecord。 一旦将实现类包含在项目中则需要将项目打包并部署到目标容器这将使用与该工具使用的相同的合约公开服务端点。 还可以在服务接口的WebService wsdlLocation属性中引用本地WSDL文件并将该文件包含在部署中。 这样可以准确地提供所提供的文档。 如果要将Web服务部署到WildFly应用程序服务器则可以从管理控制台如管理控制台中检查端点现在是否可用。 选择“上层运行时”选项卡然后单击“左侧子系统左侧”选项中包含的“ Web服务”链接 JAX-WS端点的需求 无论选择哪种方法来开发JAX-WS端点实际的实现都需要满足一些要求 必须使用j avax.jws.WebService或javax.jws.WebServiceProvider批注对实现类进行批注。 实现类可以通过WebService批注的endpointInterface元素显式引用服务终结点接口但这不是必需的。 如果WebService中没有指定endpointInterface服务端点接口被隐含的实现类定义。 实现类的业务方法必须是公共的并且不能声明为静态或最终的。 javax.jws.WebMethod批注将用于公开给Web服务客户端的业务方法。 如果没有使用WebMethod注释任何方法则将公开所有业务方法。 向Web服务客户端公开的业务方法必须具有与JAXB兼容的参数和返回类型。 实现类不能声明为final并且不能抽象。 实现类必须具有默认的公共构造函数并且不能定义finalize方法。 实现类可以在其方法中为生命周期事件回调使用javax.annotation.PostConstruct或javax.annotation.PreDestroy注释。 构建和运行JAX-WS客户端的要求 JAX-WS客户端可以是任何Java项目的一部分并且不需要明确要求它是部署在JavaEE容器上的JAR / WAR归档的一部分。 例如客户端可以简单地包含在快速入门Maven项目中如下所示 mvn archetype:generate -DarchetypeGroupIdorg.apache.maven.archetypes -DarchetypeArtifactIdmaven-archetype-quickstart -DgroupIdcom.itbuzzpress.chapter2.wsdemo -DartifactIdclient-demo-wsdl -Dversion1.0 -Dpackagecom.itbuzzpress.chapter2.wsdemo -Dversion1.0 -Darchetype.interactivefalse --batch-mode 由于您的客户端需要引用端点接口和存根因此需要提供它们或者从服务器项目复制它们或者使用wsconsume再次生成它们 $ wsconsume.bat -k CustomerService.wsdl -o client-demo-wsdl\src\main\java 现在包括一个最小的Client Test应用程序它是JUnit测试用例的一部分 public class AppTest extends TestCase {public void testApp() {CustomerService service new CustomerService();Customer port service.getCustomerPort();CustomerRecord record port.locateCustomer(John, Li, new USAddress()); System.out.println(Customer record is record);assertNotNull(record);} } 编译并运行测试 为了成功运行WS客户端应用程序需要正确设置类加载器以包括所需的JAX-WS实现库以及所需的传递依赖项如果有。 根据客户端要在其中运行的环境这可能意味着向类路径添加了一些jar或者向Maven依赖关系树添加了一些工件依赖项正确设置了IDE等。 由于Maven用于构建包含客户端的应用程序因此您可以按以下方式配置pom.xml 使其包含对JBossWS的依赖关系 dependencygroupIdorg.jboss.ws.cxf/groupId artifactIdjbossws-cxf-client/artifactId version4.2.3.Final/versionscopeprovided/scope /dependency 现在您可以执行测试用例该用例将调用JAX-WS API以使用JBossWS服务客户端调用。 mvn clean package test 专注于客户端使用的JAX-WS实现 通过在应用程序类加载器中查找META-INF / services / javax.xml.ws.spi.Provider资源可以在运行时选择要用于运行JAX-WS客户端的JAX-WS实现。 每个JAX-WS实现都有一个库jar该库包含该资源文件该资源文件在内部引用实现JAX-WS SPI提供程序的适当类。 在WildFly 8.0.0.Final应用程序服务器上JAX-WS实现包含在文件jbossws-cxf-factories-4.2.3.Final的META-INF / services / javax.xml.ws.spi.Provider中 org.jboss.wsf.stack.cxf.client.ProviderImpl 因此控制构建应用程序类加载器的类路径中包含哪些工件或jar库非常重要。 如果找到多个实现则顺序很重要因此将使用类路径中的第一个实现。 避免任何类路径问题从而加载另一个JAX-WS实现的最安全方法是将java.endorsed.dirs系统属性设置为包含jbossws-cxf-factories.jar 如果不这样做请确保没有在类路径之前包含其他META-INF / services / javax.xml.ws.spi.Provider资源这将触发另一个JAX-WS实现。 最后如果打算将JAX-WS客户端作为JavaEE应用程序的一部分在WildFly上运行则将自动选择JBossWS JAX-WS实现来为客户端提供服务。 该摘录摘自“ Advanced JAX-WS Web Services ”一书在该书中您将学习基于SOAP的Web服务体系结构的概念并获得有关在企业中构建和部署Web服务的实用建议。 本书从设置开发环境的基础知识和最佳实践入手以清晰简洁的方式介绍了JAX-WS的内部细节。 您还将了解可用于创建编译和测试SOAP Web服务的主要工具包以及如何解决常见问题例如调试数据和保护其内容。 您将从这本书中学到什么 使用SOAP Web服务迈出第一步。 安装开发和测试应用程序所需的工具。 使用自上而下和自下而上的方法开发Web服务。 使用Maven原型加快Web服务的创建。 深入探讨JAX-WS类型的详细信息Java到XML的映射以及XML到Java的映射 在WildFly 8和Tomcat上开发SOAP Web服务。 在WildFly上运行本机Apache CXF。 保护Web服务。 将身份验证策略应用于您的服务。 加密通信。 翻译自: https://www.javacodegeeks.com/2014/09/developing-a-top-down-web-service-project.html
http://www.zqtcl.cn/news/443117/

相关文章:

  • 东莞网站设计如何常州做网站设计
  • php网站数据库修改网站备案有必要吗
  • 电商会学着做网站呢WordPress又拍云cdn
  • 网站健设推广产品多少钱网站规划有什么意义
  • 诚信网站备案中心内江网站建设新闻
  • 品牌形象网站有哪些百度应用中心
  • 网站建设找什么工作室甜点网站建设的功能及意义
  • wordpress 近期文章seo排名优化推广
  • 网页设计制作网站素材网站程序哪个好
  • 郑州好的网站设计公司软件开发哪里学好
  • 网站新建设请示软件外包平台哪家可信赖
  • 做阿里巴巴还是做网站好安卓手机怎么做网站
  • 社区智慧警务网站如何推进警务室建设方案广东网络推广服务
  • 东莞艺美网站建设wordpress get header
  • 做玩具什么 网站比较好网址域名
  • 网站做用户登录中国建设部官方网站资格证查询
  • 济宁网站建设公司大型餐饮网站建设
  • 昊源建设监理有限公司网站做那种的视频网站有哪些
  • wordpress滑块代码seo外链增加
  • 衡阳网站建设公司地址书店网站怎么做
  • 如何检查网站是否做cdn加速html网页基础代码
  • 做网站的岗位好吗钓鱼网站到底怎么做
  • 大连做网站那个公司最好wordpress+高清背景
  • 怎样做网站xml案例建网站
  • 海口发布最新通告用二级域名做网站对seo
  • 网站301重定向 权重转移网站不用下载免费软件
  • 网站系统升级昆明做百度网站电话
  • 电子商务与网站建设实践论文wordpress 主题目录
  • 网站页面打不开中小企业网站推广
  • 佛山建网站企业网站怎么维护