基于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!");
}
} 本文由用戶 hwl0420 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!