前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于CXF的WebService服务端Java代码

基于CXF的WebService服务端Java代码

原创
作者头像
用户8671053
修改2021-09-24 10:23:49
6240
修改2021-09-24 10:23:49
举报
文章被收录于专栏:码农的生活

基于CXF的WebService服务端代码 

</div>

ESBServiceSoap.java    

代码语言:javascript
复制
package com.esb.services.commservices;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.ParameterStyle;
import javax.xml.bind.annotation.XmlSeeAlso;

/**
 * This class was generated by Apache CXF 2.1.3
 * Fri Oct 09 23:12:25 CST 2015
 * Generated source version: 2.1.3
 * 
 */

@WebService(targetNamespace = "http://services.esb.com/commServices/", name = "ESBServiceSoap")

public interface ESBServiceSoap {
    @WebResult(name = "result", targetNamespace = "")
    @WebMethod(operationName = "EsbInterfaceService", action = "http://services.esb.com/commServices/EsbInterfaceService")
    public String esbInterfaceService(
            @WebParam(name = "esbHeader", targetNamespace = "") java.lang.String esbHeader,
            @WebParam(name = "payload", targetNamespace = "") java.lang.String payload)
            throws Exception;
    }

ESBServiceSoapImpl.java ~ 2KB         

代码语言:javascript
复制
package com.esb.services.commservices;

import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;



import com.esb.util.EsbServiceUtil;
import com.esb.util.JaxbUtil;


/**
 * This class was generated by Apache CXF 2.1.3
 * Fri Oct 09 23:12:25 CST 2015
 * Generated source version: 2.1.3
 * 
 */

@javax.jws.WebService(
                      serviceName = "ESBService",
                      portName = "ESBServiceSoap",
                      targetNamespace = "http://services.esb.com/commServices/",
                      endpointInterface = "com.esb.services.commservices.ESBServiceSoap")

public class ESBServiceSoapImpl implements ESBServiceSoap {

    private static final Logger LOG = Logger.getLogger(ESBServiceSoapImpl.class.getName());

    /* (non-Javadoc)
     * @see com.esb.services.commservices.ESBServiceSoap#esbInterfaceService(com.esb.services.commservices.EsbInterfaceService  parameters )*
     */
    public String esbInterfaceService(String esbHeader, String payload) { 
        LOG.info("Executing operation esbInterfaceService");
        try {
            //解析esbheader
            java.util.Map<String, String> headers = EsbServiceUtil.analyzeEsbHeader(esbHeader);
            String requestID = headers.get("RequestID");
            String errorCode = "123";
            String errorDesc = "123";

            //构建返回的javabean
            UserList users = new UserList();
            User user = new User();
            user.setAddr("北京");
            user.setName("张三");
            List<User> lu = new ArrayList<User>();
            lu.add(user);
            users.setUsers(lu);
            //将javabean转换成为xml,然后再转换成为字符串
            String context = JaxbUtil.convertToXml(users, "utf-8");
            //构建返回结果
            String result = EsbServiceUtil.pottingResult(requestID, errorCode, errorDesc, context);
            return result;
        } catch (Exception ex) {
            ex.printStackTrace();
            throw new RuntimeException(ex);
        }
    }
}

[文件] User.java ~ 666B     (1)

代码语言:javascript
复制
package com.esb.services.commservices;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlAccessorType(XmlAccessType.FIELD)  
@XmlRootElement(name = "User")
public class User {

    @XmlElement(name = "name")
    private String name;
    @XmlElement(name = "addr")
    private String addr;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAddr() {
        return addr;
    }
    public void setAddr(String addr) {
        this.addr = addr;
    }

}

[文件] UserList.java ~ 737B     (1)

代码语言:javascript
复制
package com.esb.services.commservices;

import java.util.List;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

@XmlAccessorType(XmlAccessType.FIELD)  
@XmlRootElement(name = "UserList")  
@XmlType(propOrder = { "users" }) 
public class UserList {

    @XmlElementWrapper(name = "users")  
    @XmlElement(name = "User") 
    public List<User> users;

    public List<User> getUsers() {
        return users;
    }

    public void setUsers(List<User> users) {
        this.users = users;
    }

}

[文件] ServerTest.java ~ 348B     (1)

代码语言:javascript
复制
package com.esb.services.commservices;


import javax.xml.ws.Endpoint;


public class ServerTest {

    public static void main(String[] args) {
        String address="http://localhost:8899/test";
        ESBServiceSoapImpl esbServiceImpl = new ESBServiceSoapImpl();
        Endpoint.publish(address, esbServiceImpl);
        System.out.println("esb!");
    }

}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ESBServiceSoap.java    
  • ESBServiceSoapImpl.java ~ 2KB         
  • [文件] User.java ~ 666B     (1)
  • [文件] UserList.java ~ 737B     (1)
  • [文件] ServerTest.java ~ 348B     (1)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档