您当前的位置: 首页 > 

宝哥大数据

暂无认证

  • 1浏览

    0关注

    1029博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

webservice24--基于契约优先开发用户管理小功能--实现wsdl

宝哥大数据 发布时间:2017-10-16 02:15:47 ,浏览量:1

基于契约优先开发用户管理小功能–实现wsdl 1、编写schema



    
    

    
    
    
    
    
    
    
    
    


    
        
            
        
    
    
        
            
        
    


    
        
            
        
    
    
        
            
        
    

    
        
            
            
        
    
    
        
            
        
    

    
        
        
    
    
        
            
            
        
    


    
    
        
            
            
            
        
    
    
        
            
        
    

    
    
        
            
            
        
    

2、编写wsdl 2.1、schema的引用 2.1.1、使用include 的引用
  
    
      
    
  
2.1.1、使用import的引用,可以在import中设置命名空间。
  
    
        
    
  
2.2、设置message
  
    
  
  
    
  

  
    
  
  
    
  

  
    
  
  
    
  

  
    
  
  
    
  
2.3、设置port’Type, 也就是方法 2.3.1、修改service的名称
name="user"

改为

name="UserService" 
2.3.2、设置portType

  
  
    
    
      
      
    
    
      
      
     
    
      
      
    
    
      
      
      
  
2.4、binding

这里写图片描述

2.5 service
  
  
    
      
    
  
至此, wsdl已经完成, 契约已经定好, 通过定制好的wsdl生成, java文件
G:\JavaWeb\qyyx_01\WebContent\WEB-INF\wsdl>wsimport -d  G:\JavaWeb\qyyx_01\src -keep -verbose user.wsdl
服务端

这里写图片描述

客户端,使用http://localhost:9999/us?wsdl导文件(注意: 使用的是wsdlurl, 而不是wsdl文件。
G:\JavaWeb\qyyx_01\WebContent\WEB-INF\wsdl>wsimport -d  G:\JavaWeb\qyyx_01_client\src -verbose -keep http://localhost:9999/us?wsdl

这里写图片描述

2.6、问题, 测试客户端时候发现, list方法报错, 无法将User 对象转化为List的错误,

查看IUserService中的list方法返回值,是User, 而不是List 这是wsdl文件的listResponse类型有问题。

 public User list();

listResponse类型有问题。

    
        
            
            
        
    

解决:minOccurs=”0” maxOccurs=”unbounded”限定。

    
        
        
            
        
    
客户端测试
package com.chb.service.client;

import java.net.MalformedURLException;
import java.net.URL;

import javax.xml.namespace.QName;

import com.chb.service.IUserService;
import com.chb.service.User;
import com.chb.service.UserService;

/**
 * wsimport -d  G:\JavaWeb\qyyx_01_client\src -verbose -keep http://localhost:9999/us?wsdl
 */
public class MyClient {
    public static void main(String[] args) throws MalformedURLException {
        //创建访问的URL 
        URL url = new URL("http://localhost:9999/us?wsdl");

        QName qName = new QName("http://service.chb.com/", "UserService");

        UserService msis = new UserService(url, qName);
        //获取IMyService, 简单多了
        IUserService iMyService = msis.getUserservicePort();
        User user = new User();
        user.setUsername("wx");
        user.setNickname("wuxin");
        user.setPassword("111");
        iMyService.add(user);

        for (User u : iMyService.list()) {
            System.out.println(u);
        }
        System.out.println(iMyService.login("chb", "123456"));

    }
}
关注
打赏
1587549273
查看更多评论
立即登录/注册

微信扫码登录

0.0400s