如何在 spring ws 端点方法中将传入的 XML 有效负载作为字符串参数获取? 例如我有以下代码,注意我将 XML 作为 JDOM 元素获取,我现在需要手动将其转换为字符串。很高兴知道如何将其自动转换为字符串。
@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,它也没有按我预期的方式工作。
最佳答案
我正要说您应该尝试使用 XPathParam 批注来解决这个问题,但我看到您已经尝试过了。为什么这对你不起作用?
我不确定您是否需要将元素的值作为字符串,或者是否需要将完整的 XML 作为字符串。对于后者,您可以尝试将 MessageContext 添加到您的方法签名中,并通过使用类似以下内容的方法将其作为字符串获取 PayLoadSource:
DOMSource source = (DOMSource) messageContext.getRequest().getPayloadSource();
关于web-services - spring web services - 如何在方法端点中获取字符串有效负载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7156807/