Friday, March 13, 2009

Spring Webservices

I've heard about Spring Webservices for quite sometime now, but didnt really look into it until yesterday. Here is an example of a POJO that is annotated with @Endpoint annotation.


@Endpoint
public class PurchaseOrderEndPoint implements PurchaseOrderWebService {
private static final Log LOG = LogFactory.getLog(PurchaseOrderEndPoint.class);

/**
* Process purchase order
*
* @param request purchase order request
* @return
*/
@PayloadRoot(localPart = PURCHASE_ORDER_REQUEST,
namespace = PURCHASE_ORDER_NAMESPACE)
public PurchaseOrderResponse processPurchaseOrder(PurchaseOrderRequest request) {
LOG.info("Received purchase order request");
PurchaseOrderResponse resp = new PurchaseOrderResponse();
resp.setPurchaseOrderNumber("DEBUG MESSAGE");
return resp;
}


/**
* Check for order status
*
* @param req order status enquiry request
* @return
*/
@PayloadRoot(localPart = PURCHASE_ORDER_STATUS_ENQUIRY_REQUEST,
namespace = PURCHASE_ORDER_NAMESPACE)
public PurchaseOrderStatusEnquiryResponse checkPurchaseOrderStatus(PurchaseOrderStatusEnquiryRequest req) {
LOG.info("Received purchase order status enquiry request");

PurchaseOrderStatusEnquiryResponse rsp = new PurchaseOrderStatusEnquiryResponse();
rsp.setStatus(PurchaseOrderStatus.RECEIVED);
return rsp;
}
}


So thats multiple payload handler in one POJO class, instead of one endpoint per payload handler like what I used to do at work.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home