webservice 远程数据交互技术

    1.导入jar包(如果是 maven项目导入项目坐标)

    2.创建服务

    3.测试服务

我们使用maven来做测试服务

pom.xml文件

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>com.baidu.webservicetest01</groupId>
  5. <artifactId>webservicetest01</artifactId>
  6. <version>0.0.1-SNAPSHOT</version>
  7. <!-- jdk版本1.7 -->
  8. <build>
  9. <plugins>
  10. <plugin>
  11. <groupId>org.apache.maven.plugins</groupId>
  12. <artifactId>maven-compiler-plugin</artifactId>
  13. <version>2.3.2</version>
  14. <configuration>
  15. <source>1.7</source>
  16. <target>1.7</target>
  17. </configuration>
  18. </plugin>
  19. </plugins>
  20. </build>
  21. <dependencies>
  22. <!-- cxf ws开发包 -->
  23. <dependency>
  24. <groupId>org.apache.cxf</groupId>
  25. <artifactId>cxf-rt-frontend-jaxws</artifactId>
  26. <version>3.0.1</version>
  27. </dependency>
  28. <!-- jetty 服务器包 -->
  29. <dependency>
  30. <groupId>org.apache.cxf</groupId>
  31. <artifactId>cxf-rt-transports-http-jetty</artifactId>
  32. <version>3.0.1</version>
  33. </dependency>
  34. <!-- 使用log4j日志实现 -->
  35. <dependency>
  36. <groupId>org.slf4j</groupId>
  37. <artifactId>slf4j-log4j12</artifactId>
  38. <version>1.7.12</version>
  39. </dependency>
  40.  
  41. <!-- 使用rs客户端 -->
  42. <dependency>
  43. <groupId>org.apache.cxf</groupId>
  44. <artifactId>cxf-rt-rs-client</artifactId>
  45. <version>3.0.1</version>
  46. </dependency>
  47. </dependencies>
  48. </project>

  服务接口

  1. package com.baidu.test;
  2.  
  3. import javax.jws.WebMethod;
  4. import javax.jws.WebService;
  5.  
  6. @WebService
  7. public interface TestInterf {
  8. @WebMethod
  9. public void eat();
  10. }

服务实现类

  1. package com.baidu.test;
  2. import javax.jws.WebService;
  3. @WebService
  4. public class TestImp implements TestInterf {
  5. public void eat() {
  6. System.out.println("该吃饭了");
  7. }
  8.  
  9. }

开启服务:

  1. package com.baidu.test;
  2. import javax.xml.ws.Endpoint;
  3. public class PublishTest {
  4. public static void main(String[] args) {
  5. TestInterf tt=new TestImp();
  6. String address="http://localhost:9991/TestInterf";
  7. Endpoint.publish(address, tt);
  8. System.out.println("服务启动了");
  9. }
  10. }

新建项目  和服务器的包结构必须相同

测试项目的 测试接口和服务器的接口必须一致

  1. package com.baidu.test1;
  2. import javax.jws.WebMethod;
  3. import javax.jws.WebService;
  4. @WebService //标识可以连接服务
  5. public interface TestInterf {
  6. @WebMethod
  7. public void eat();
  8. }

  

测试服务

  1. package com.baidu.test1;
  2.  
  3. import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
  4.  
  5. public class Test02 {
  6. public static void main(String[] args) {
  7. // 编写客户端 调用发布WebService服务
  8. JaxWsProxyFactoryBean jaxWsProxyFactoryBean = new JaxWsProxyFactoryBean();
  9. jaxWsProxyFactoryBean.setServiceClass(TestInterf.class);
  10. jaxWsProxyFactoryBean.setAddress("http://localhost:9991/TestInterf");
  11. // 创建调用远程服务代理对象
  12. TestInterf proxy = (TestInterf) jaxWsProxyFactoryBean.create();
  13. proxy.eat();
  14. }
  15. }

  pom.xml  客户pom.xml

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>com.baidu.webservicetest02</groupId>
  5. <artifactId>webservicetest02</artifactId>
  6. <version>0.0.1-SNAPSHOT</version>
  7. <build>
  8. <plugins>
  9. <plugin>
  10. <groupId>org.apache.maven.plugins</groupId>
  11. <artifactId>maven-compiler-plugin</artifactId>
  12. <version>2.3.2</version>
  13. <configuration>
  14. <source>1.7</source>
  15. <target>1.7</target>
  16. </configuration>
  17. </plugin>
  18. </plugins>
  19. </build>
  20. <dependencies>
  21.  
  22. <!-- 要进行jaxws 服务开发 -->
  23. <dependency>
  24. <groupId>org.apache.cxf</groupId>
  25. <artifactId>cxf-rt-frontend-jaxws</artifactId>
  26. <version>3.0.1</version>
  27. </dependency>
  28.  
  29. <!-- 内置jetty web服务器 -->
  30. <dependency>
  31. <groupId>org.apache.cxf</groupId>
  32. <artifactId>cxf-rt-transports-http-jetty</artifactId>
  33. <version>3.0.1</version>
  34. </dependency>
  35.  
  36. <!-- 日志实现 -->
  37. <dependency>
  38. <groupId>org.slf4j</groupId>
  39. <artifactId>slf4j-log4j12</artifactId>
  40. <version>1.7.12</version>
  41. </dependency>
  42. </dependencies>
  43.  
  44. </project>

  

webService之helloword(java)的更多相关文章

  1. webService之helloword(java)rs

    webservice之rs(helloworld) 1.pom.xml文件 <dependencies> <!-- 使用CXF RS开发 --> <dependency& ...

  2. struts1+spring+myeclipse +cxf 开发webservice以及普通java应用调用webservice的实例

    Cxf + Spring+ myeclipse+ cxf 进行  Webservice服务端开发 使用Cxf开发webservice的服务端项目结构 Spring配置文件applicationCont ...

  3. C#动态webservice调用接口 (JAVA,C#)

    C#动态webservice调用接口 using System; using System.Collections; using System.IO; using System.Net; using ...

  4. Axis2 webservice 之使用java调用webservice

    在上一篇中写了一个简单了webservice,实现了一个sayHello功能.那么webservice写好之后我们如何使用Java程序来调用webservice呢? 一.java调用的webservi ...

  5. webservice之helloword(web)rs

    spring整合webservice 1.pom.xml文件 <dependencies> <!-- cxf 进行rs开发 必须导入 --> <dependency> ...

  6. php调用webservice接口,java代码接收不到参数

    前段时间做了一个项目的二次开发,有个功能是需要php调用java实现的webservice接口,并传递一些参数给接口,然后按照对方提供的接口说明文档进行传参调用,java那边有接收到请求,但是参数总是 ...

  7. WebService应用--使用java开发WebService程序

    使用Eclipse开发第一个WebService程序,本示例采用的工具为Spring-Tool-Suite,和Eclipse没有本质的区别,开发环境jdk1.7 一.开发步骤: 1.新建名为WebSe ...

  8. webService之helloword(web)

    spring 整合webservice pom.xml文件 <dependencies> <!-- CXF WS开发 --> <dependency> <gr ...

  9. 做Webservice时报错java.util.List是接口, 而 JAXB 无法处理接口。

    Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExc ...

随机推荐

  1. Java图形化界面设计——GridBagConstraints

    JAVA布局模式:GridBagConstraints终极技巧参数详解 布局模式 :GridBagConstraints布局,先发一个实例: gridx = 2; // X2 gridy = 0; / ...

  2. Android.Tools.Ant

    ant 1. ant手册翻译 ant手册翻译是一项大工程!!!!!! ant在线手册的链接好不明确. 2. ant 支持for循环 安装ant-contrib Ref[1.1]. 要在ant的buil ...

  3. Vue 不同环境配置相应的 API 地址

    我使用的是 Vue + ElementUI 进行构建的项目,在开发过程中,使用的是前后端分离的模式,所以经常会出现多环境配置信息,尤其是 Api 接口地址的配置,如果在代码中使用判断的方式,感觉不友好 ...

  4. Java中的逆变与协变 很直接不饶弯的讲出来了

    ```java 协变 extends只能new 辈分比自己低的家伙 List<? extends Number> list001 = new ArrayList<Integer> ...

  5. file-downloader相关问题

    2017-05-24 file-downloader框架中,如果你想用FileDownloader中的createAndStart(String url, String saveDir, String ...

  6. 尝试解决nginx的499错误1

  7. Python内置的subprocess.Popen对象

    具体内容参见:https://docs.python.org/3/library/subprocess.html 大概来说,就是可以对应输入的命令产生一个进程,该进程实例内置如下方法. |  comm ...

  8. 视频基础知识:浅谈视频会议中H.264编码标准的技术发展

    浅谈视频会议中H.264编码标准的技术发展 浅谈视频会议中H.264编码标准的技术发展 数字视频技术广泛应用于通信.计算机.广播电视等领域,带来了会议电视.可视电话及数字电视.媒体存储等一系列应用,促 ...

  9. mybatis学习七 typeAliases 别名

    1. mybatis中内置的一些别名,例如Map,List,int 等常用类型 2.手动为某个类设置别名 在mybatis的全局配置文件中加如下代码 <typeAliases> <t ...

  10. Alpha 冲刺 (2/10)

    队名 火箭少男100 组长博客 林燊大哥 作业博客 Alpha 冲鸭鸭! 成员冲刺阶段情况 林燊(组长) 过去两天完成了哪些任务 协调各成员之间的工作 协助前端界面的开发 搭建测试用服务器的环境 完成 ...