您的位置 首页 > 数码极客

javawsdl如何调用webservice

首先写一个服务端:


  1. package com.;
  2. import javax.jws.WebMethod;
  3. import javax.jws.WebParam;
  4. import javax.jws.WebService;
  5. @WebService(targetNamespace=";, serviceName="PPLoginService")
  6. public class LoginService {
  7. @WebMethod
  8. public String login(@WebParam(name="username") String username, @WebParam(name="password") String password){
  9. if(username != null && u(password)){
  10. return "OK";
  11. }
  12. return "Faliure";
  13. }
  14. }
  15. package com.;
  16. import javax.xml.ws.Endpoint;
  17. public class AppServer {
  18. public static void main( String[] args ) {
  19. End(";, new LoginService());
  20. }
  21. }

启动。然后,用wsimport(JDK自带命令,本文章中使用的是JDK1.8)生成源代码,命令如下:

wsimport -s ./src -p com. -encoding utf-8

另外新建一个maven项目,把上面生成的代码(src目录)拷贝到项目的src目录中去

代码结构如下:

并且加入spring依赖


  1. <dependency>
  2. <groupId>org.springframework</groupId>
  3. <artifactId>spring-web</artifactId>
  4. <version>4.3.2.RELEASE</version>
  5. </dependency>
  6. 调用的示例代码如下:
  7. package com.;
  8. import java.net.MalformedURLException;
  9. import java.net.URL;
  10. import javax.xml.name;
  11. import javax.xml.ws.Service;
  12. import org.;
  13. import org.;
  14. import org.;
  15. import org.;
  16. import com..LoginService;
  17. import com..PPLoginService;
  18. public class AppClient {
  19. //方式一
  20. public static void fun1() throws Exception {
  21. URL url = new URL("");
  22. //QName的两个参数,参照LoginService上面的注解
  23. QName qname = new QName(";, "PPLoginService");
  24. Service service = Service.create(url, qname);
  25. LoginService ls = );
  26. Sy("admin", "123"));
  27. Sy("admin", "admin"));
  28. }
  29. //方式二(PPLoginService内部其实使用的是方式一)
  30. public static void fun2() throws Exception {
  31. URL url = new URL("");
  32. PPLoginService ppls = new PPLoginService(url);
  33. LoginService ls = ();
  34. Sy("admin", "123"));
  35. Sy("admin", "admin"));
  36. }
  37. //方式三,使用spring封装的方式
  38. public static void fun3() throws Exception {
  39. AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContex);
  40. LoginService ls = con);
  41. Sy("admin", "123"));
  42. Sy("admin", "admin"));
  43. con();
  44. }
  45. public static void main(String[] args) throws Exception {
  46. fun1();
  47. fun2();
  48. fun3();
  49. }
  50. }
  51. @Configuration
  52. class WSConfig {
  53. @Bean
  54. public JaxWsPortProxyFactoryBean createMainCouponService() throws MalformedURLException {
  55. //JaxWsPortProxyFactoryBean 类在里面
  56. JaxWsPortProxyFactoryBean bean = new JaxWsPortProxyFactoryBean();
  57. bean.setServiceInterface);
  58. bean.setServiceName("PPLoginService");
  59. bean.setWsdlDocumentUrl(new URL(""));
  60. //设置超时
  61. bean.addCustomProperty("com.;, 20000);
  62. bean.addCustomProperty("com.;, 20000);
  63. return bean;
  64. }
  65. }

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“javawsdl如何调用webservice”边界阅读