spring web services - 如何在方法端点中获取字符串有效负载?

时间:2011-08-23 05:53:10

标签: web-services spring spring-ws

如何在spring ws endpoint方法中将传入的XML有效内容作为String参数获取? 对于例如我有以下代码,请注意我将XML作为JDOM元素获取,我现在需要手动转换为String。很高兴知道如何将其自动转换为String。

@PayloadRoot(namespace=HOLIDAY_NAMESPACE_URI, localPart="holidayRequest")
@ResponsePayload
public Element handleHolidayRequest(@RequestPayload Element holidayRequest)
//public Element handleHolidayRequest(@XPathParam("holidayRequest") String holidayRequest)
{
    System.out.println("In handleHolidayRequest method with payload: " + holidayRequest);
    return getHolidayResponse(HOLIDAY_NAMESPACE);
}

注释掉的方法签名,只是我尝试了XPath,它也没有按照我预期的方式工作。

1 个答案:

答案 0 :(得分:1)

我正要说你应该尝试通过使用XPathParam注释来解决这个问题,但我看到你已经尝试过了。为什么那不适合你?

我不确定您是否需要将元素的值作为字符串,或者您是否需要将完整的XML作为String。对于后者,您可以尝试将MessageContext添加到方法签名中,并使用它将PayLoadSource作为字符串使用,例如:

DOMSource source = (DOMSource) messageContext.getRequest().getPayloadSource();