首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Web容器外的Java 6中使用Guice 3和JAX-WS

在Web容器外的Java 6中使用Guice 3和JAX-WS的方法如下:

  1. 首先,需要在项目中引入Guice和JAX-WS相关的依赖。可以使用Maven或Gradle来管理依赖,以下是Maven的依赖配置:
代码语言:xml<dependencies>
复制
 <dependency>
   <groupId>com.google.inject</groupId>
   <artifactId>guice</artifactId>
   <version>3.0</version>
  </dependency>
 <dependency>
   <groupId>javax.xml.ws</groupId>
   <artifactId>jaxws-api</artifactId>
   <version>2.2.1</version>
  </dependency>
 <dependency>
   <groupId>com.sun.xml.ws</groupId>
   <artifactId>jaxws-rt</artifactId>
   <version>2.2.10</version>
  </dependency>
</dependencies>
  1. 创建Guice模块并绑定JAX-WS服务接口和实现类:
代码语言:java
复制
import com.google.inject.AbstractModule;
import com.google.inject.name.Names;

public class MyGuiceModule extends AbstractModule {
  @Override
  protected void configure() {
    bind(MyService.class).annotatedWith(Names.named("MyServiceImpl")).to(MyServiceImpl.class);
  }
}
  1. 创建JAX-WS服务接口和实现类:
代码语言:java
复制
import javax.jws.WebService;

@WebService
public interface MyService {
  String sayHello(String name);
}

public class MyServiceImpl implements MyService {
  public String sayHello(String name) {
    return "Hello, " + name;
  }
}
  1. 创建JAX-WS服务端点并使用Guice注入服务实现类:
代码语言:java
复制
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
import com.google.inject.Guice;
import com.google.inject.Injector;

@WebService(endpointInterface = "com.example.MyService")
public class MyServiceEndpoint implements MyService {
  private MyService myService;

  public MyServiceEndpoint() {
    Injector injector = Guice.createInjector(new MyGuiceModule());
    myService = injector.getInstance(MyService.class);
  }

  @Override
  public String sayHello(String name) {
    return myService.sayHello(name);
  }

  public static void main(String[] args) {
    Endpoint.publish("http://localhost:8080/MyService", new MyServiceEndpoint());
  }
}
  1. 创建JAX-WS客户端代理并调用服务:
代码语言:java
复制
import javax.xml.ws.Service;

public class MyServiceClient {
  public static void main(String[] args) throws Exception {
    Service service = Service.create(
      new URL("http://localhost:8080/MyService?wsdl"),
      new QName("http://example.com/", "MyServiceEndpointService")
    );
    MyService myService = service.getPort(MyService.class);
    String response = myService.sayHello("World");
    System.out.println(response);
  }
}

以上就是在Web容器外的Java 6中使用Guice 3和JAX-WS的方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

webservice有哪些框架_web前端主流框架有哪些

能够很方便与EJB、Seam、Guice、Spring和Spring MVC集成使用。支持在客户端与服务器端自动实现GZIP解压缩。...(资料少无法比较) 2.7 java6JAX-WS JAX-WS2.0 (JSR 224)是Sun新的web services协议栈 JAVA中有三种WebService规范,分别是JAX-WS(JAX-RPC...早期的JAVA Web服务规范JAX-RPC(Java API ForXML-Remote Procedure Call)目前已经被JAX-WS 规范取代,JAX-WS 是JAX-RPC 的演进版本,但...stub 表格2在端对端性能上,一个客户端驱动程序使用了一个胖客户端Web服务堆栈来发送和接受SOAP请求 Webservice服务端 Webservice客户端 Webservice stack...在多年的开发中已有了很多积累,不能因为使用开发框架就不能再使用了,那未免有些得不偿失。(暂时无法提供观点) 10.

2.4K20

使用JAX-WS构建Web Services

大家好,又见面了,我是你们的朋友全栈君。 使用JAX-WS构建Web Services JAX-WS简写为 Java Api For Xml Web Service。...JAX-WS是使用XML构建Web Service与Client进行交流通信的技术。 在 JAX-WS中,Web Service操作调用表现为以XML为基础的协议如SOAP协议。...尽管 SOAP协议是很复杂的,但是JAX-WS隐藏了开发人员面对的复杂性。在服务器端,开发者可以通过在使用java语言接口中定义方法来制定Web Service。...JAX-WS运行系统会自动完成调用和回应之间SAOP消息的转换。 使用 JAX-WS,客户端和服务器端都有一个很大的优势:java编程语言的平台独立性。...PostConstruct方法由容器在实现类开始向 Web Service Client做出反应之前调用。 PreDestroy方法由容器在终端移出操作之前调用。

67320
  • 老司机带你玩转web service

    WSDL: 做为描述 WebService 的语言,你能很清晰的知道提供的服务是什么、入参、返回的数据,机器和人都很容器进行阅读。...丰满意味着臃肿和庞大,不可避免的导致了Axis2的复杂性,听使用过她的人,它所依赖的包数量和大小都是很惊人的,打包部署发布很麻烦。...JAX-WS 服务端无 MVC 框架开发实践 我这里的说的无 MVC 框架指的是没有使用任何像 Struts/Spring MVC/WebWork....这些东西,Java EE 项目最纯真的 Servlet...在 main 函数中静态方式防部的方式这里就不提了,咱需要 webServer 服务和 web 项目一起启动起来,同呼吸共命运。...通过上面的4步的操作,启动 web 项目吧,不出什么意外的话,启动 web 容器打印日志是这样。 ? 3.

    1.2K90

    Maven底层容器Plexus Container的前世今生,一代芳华终落幕

    也是在03年,使用Apache 2.0 License,发布了一个版本;04年3月,发布了一个生产用的版本。...Container,IOC容器,Maven 1.x/2.x在用,3.0版本后,Maven自身也没有再使用了 Plexus Components Maven的工作就是和各种文件、目录打交道,这期间,会沉淀出来很多公用组件...此时,经过多年的迭代,在2010年前后,guice已经比较成熟了,在google内部也而得到了广泛应用,且依赖注入这个领域,也在持续不断地发展中,比如java官方定义了相关的标准api。...而此时,Maven的开发者们已经难以同时维护Plexus IOC容器(比如适配java官方新出标准,和周边Spring兼容等等各类工作),因此,Maven决定,为了节省精力,Maven将不再基于Plexus...IOC容器,而是使用Guice,以后就只管用了,而guice的维护升级,自然有Guice的开源团队去跟进。

    48110

    3分钟带你了解轻量级依赖注入框架Google Guice【享学Java】

    前言 说起依赖注入(DI),相信你首先想到的必然是Spring,Spring是Java技术全家桶,是Java EE开发的一站式解决方案和实际开发标准。...Guice在Java领域并不流行(相较于Spring),但因为它轻量级,所以可以作为你去学习理解DI的一个抓手,适合你去进行独立的分析和理解依赖注入的思想,毕竟程序员经常说的:思想都是相通的。...这便是一个最简单的使用Guice来实现依赖注入的示例,和Spring的ApplicationContext还蛮像的有木有。...另外,在web下使用/整合Guice,一般需要导入下面Jar包给与支持: com.google.inject.extensions...;Guice使用Java代码来描述绑定关系 Spring使用字符串来表示Bean的key;Guice一般使用类型绑定关系来描述一个实例,且是分模块的、局部的 Spring在容器初始化时候完成所有关系的绑定

    5.7K21

    WebService_03_服务端实现方式一JWS

    JWS JAX-WS(Java6引进) 是SOAP协议的一个Java的实现规范,这个新规范是为了简化基于SOAP的Java开发。...JAX-WS规范其实就是一组XMLweb services的JAVA API,JAX-WS允许开发者可以选择RPC-oriented或者message-oriented来实现自己的web services...通过使用 Java™ API for XMLWeb Services (JAX-WS) 技术设计和开发 Web 服务,可以带来很多好处,能简化 Web 服务的开发和部署,并能加速 Web 服务的开发。...在 JAX-WS中,一个远程调用可以转换为一个基于XML的协议,比如SOAP。在使用JAX-WS过程中,开发者不需要编写任何生成和处理SOAP消息的代码。...(3)在客户端,用户可以通过JAX-WS的API创建一个代理(用本地对象来替代远程的服务)来实现对于远程服务器端的调用。

    1K40

    第一章 JAX-WS认识

    以下是关于JAX-WS的认识,以下摘自百度百科: ----   JAX-WS规范是一组XML web services的JAVA API,JAX-WS允许开发者可以选择RPC-oriented或者message-oriented...在 JAX-WS中,一个远程调用可以转换为一个基于XML的协议例如SOAP,在使用JAX-WS过程中,开发者不需要编写任何生成和处理SOAP消息的代码。...通过web service所提供的互操作环境,我们可以用JAX-WS轻松实现JAVA平台与其他编程环境(.net等)的互操作。   ...这个实现是基于Java的RPC,并不完全支持schema规范,同时没有对Binding和Parsing定义标准的实现。   ...在binding层,使用的是the Java Architecture for XML Binding (JAXB, JSR 222),在parsing层,使用的是the Streaming API for

    30820

    jax-ws使用教程_JAX-WS教程

    欢迎使用JAX-WS教程。 Web服务在客户端-服务器模型上工作,它们通过网络进行通信。 服务器端组件提供服务所在的端点URL,客户端应用程序可以调用不同的方法。...在本JAX-WS教程中,我们将使用JAX-WS创建基于SOAP的Web服务。 但是首先,我们将介绍SOAP Web服务中使用的一些专业术语。...SOAP是用于设计和开发Web服务的基于XML的行业标准协议。 由于它基于XML,因此与平台和语言无关。 因此,我们的服务器可以基于JAVA,客户端可以基于.NET,PHP等,反之亦然。...JAX-WS代表XML Web Services的Java API。 JAX-WS是基于XML的Java API,用于构建Web服务服务器和客户端应用程序。...现在,我们将不得不创建一个接口,在该接口中声明将在我们的JAX-WS示例Web服务中公开的方法。

    1.7K20

    Java 跨项目调用技术 WebService

    Web Service(WEB服务)能够快捷和方便地综合结合各种系统、商务和任何应用平台 利用最新的Web Service 标准能够使任何软件系统和系统之间的应用互通互联,方便,而且更加廉价 java...的WebService规范 JAVA 中共有三种WebService 规范,分别是JAX-WS、JAX-RS、JAXM&SAAJ(已废弃) JAX-WS规范 JAX-WS 的全称为Java API for...XML-Based Webservices ,早期的基于SOAP 的JAVA 的Web 服务规范JAX-RPC(Java API For XML-Remote Procedure Call)目前已经被...Soap协议是基于http的应用层协议,soap协议传输是xml数据 ​ 采用wsdl作为描述语言即webservice使用说明书,wsdl属w3c标准。 ​...XSD,W3C为webservice制定了一套传输数据类型,使用xml进行描述,即XSD(XML Schema Datatypes),任何编程语言写的webservice接口在发送数据时都要转换成webservice

    57940

    四大Java EE容器(Tomcat、JBoss、Resin、Glassfish)之简单比较(转)

    Tomcat是Apache鼎力支持的Java Web应用服务器,由于它优秀的稳定性以及丰富的文档资料,广泛的使用人群。...Tomcat是Apache鼎力支持的Java Web应用服务器(注:servlet容器),由于它优秀的稳定性以及丰富的文档资料,广泛的使用人群,从而在开源领域受到最广泛的青睐。 2....Jboss作为Java EE应用服务器,它不但是Servlet容器,而且是EJB容器,从而受到企业级开发人员的欢迎,从而弥补了Tomcat只是一个Servlet容器的缺憾。 3....Resin也仅仅是一个Servlet容器,然而由于它优秀的运行速度,使得它在轻量级Java Web领域备受喜爱,特别是在互联网Web服务领域,众多知名公司都采用其作为他们的Java Web应用服务器,譬如...在商用应用服务器里主要有:Weblogic、Websphere,其中Weblogic我也使用过很长一段时间,当时也只用其当Servlet容器,然而就在同等条件下,在性能及易用性等方面,要比Tomcat优秀很多

    1.8K90

    【方向盘】Java EE几十种技术,“活着的”还剩几何(服务安全Java SE篇)

    是一个Java编程语言的应用程序接口,支持按照表述性状态转移(REST)架构风格创建Web服务。借助标准注解来落地。 和JAX-WS的区别: 两者是 不同风格的SOA架构。...这么技术在老外那边还有用武之地(比如Eureka就用它),国内使用得确实少之又少了。 ✌2....注:JAX-WS技术在,有需要可提前移步阅读 我们可以对比下JAX-RPC和JAX-RS: 相同点 JAX-WS仍然支持 SOAP 1.1 over HTTP 1.1,因此互操作性将不会受到影响...JAXR使java软件程序员使用单个的易于使用的抽象API访问多种XML registries,一个统一的JAXR实现模型描述在XML registries中的内容和元数据。...JAX-WS 推荐学习指数 ⭐️ Java API for XML Web Services:一组XML web services的JAVA API,JAX-WS允许开发者可以选择RPC-oriented

    65740

    webservice有哪些框架_前端主流js框架

    CXF实现了JAX-WS API。它包含一个简单的前端,可以创建客户端和端点而不需要注释。既支持协议优先的WSDL开发,也支持代码优先的Java开发。...l 灵活的部署 轻量级容器: 在 Tomcat 或 基于Spring的容器中部署服务 JBI 集成: 作为服务引擎部署在JBI容器中,如 ServiceMix, OpenESB 或 Petals...独立式 Java client/server l 支持多种编程语言 完全支持 JAX-WS 2.0 client/server 编程模型 JAX-WS 2.0 同步, 异步 和 one-way...与 Axis 1.x 处理程序链相比,使用模块的优势在于,您可以在根本不改变全局配置文件的情况下添加新模块。同时,模块是一个自容器,其中可以包含处理程序、第三方库、模块相关资源和模块配置文件。...Axis2的开发方式类似一个小型的应用服务器,Axis2的开发包要以WAR的形式部署到Servlet容器中,比如Tomcat,通过这些容器可以对工作中的Web Service进行很好的监控和管理。

    3.7K10

    三十四、借助Guice的DI依赖管理,轻松实现一键启动Eureka Client端完成服务注册

    总结 关注A哥 前言 回想一下,在本系列第一篇文章就有提到过,Eureka它是使用轻量级DI框架:谷歌的Guice来管理其依赖的。...参考文章:3分钟带你了解:轻量级依赖注入框架Google Guice【享学Java】 ---- 正文 前面文章我书写代码示例的时候,全靠我勤劳的双手,各种new对象,各种组件的构建和组装真的是蛮麻烦的。...,需要替换~ CloudInstanceConfig和元数据强相关,关于eureka的元数据,后面我会用专门文章介绍如何去使用它,有较多的使用技巧以及黑黑科技 ---- 使用Guice启动Eureka...---- 使用自定义的EurekaInstanceConfig实现类 Eureka在Guice容器默认放入的是CloudInstanceConfig,该实例是和AWS绑定的,一般用于较为复杂的云环境。...但实际上是,在Spring Cloud中使用Eureka时,它完全没有使用到Guice,而是把所有Eureka的组件均交由Spring容器管理,完全的自己组织。

    93320

    【webservice】Java JAX-WS和JAX-RS webservice「建议收藏」

    JAX-WS规范是一组xml web service的java API。 规范是一组API? 规范只是集成在java平台里边的API,这个API是用来实现不同风格的JWS的。...jaxb:java xml binding,是 JAX-WS和JAX-RS底层使用的对象与XML之间转换的工具。...JAX-RS具有创建API的优势,这些API可以更简单的在不同的浏览器和移动设备上创建和消化消息,即JSON结构。它没有引入信封的概念,并使用HTTP。它不引入加密或安全性,它使用HTTPS。...JAX-WS虽然在HTTPS上运行,但是使用WS-SecurityPolicy等为安全性提供了额外的补充。...SOAP提升: 1.目前WebService的协议主要有SOAP1.1和1.2。 2.两者的命名空间不同。 3.SOAP1.1版本与SOAP1.2版本在头信息上存在差异。

    3.6K20
    领券