基于CXF的WebService服务端代码
</div>
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;
}
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);
}
}
}
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;
}
}
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;
}
}
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 删除。