如何在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,它也没有按照我预期的方式工作。
答案 0 :(得分:1)
我正要说你应该尝试通过使用XPathParam注释来解决这个问题,但我看到你已经尝试过了。为什么那不适合你?
我不确定您是否需要将元素的值作为字符串,或者您是否需要将完整的XML作为String。对于后者,您可以尝试将MessageContext添加到方法签名中,并使用它将PayLoadSource作为字符串使用,例如:
DOMSource source = (DOMSource) messageContext.getRequest().getPayloadSource();