基于CXF的WebService服务端Java代码
基于CXF的WebService服务端代码 </div>
ESBServiceSoap.java
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
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)
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)
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)
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!"); } }