Web services 将复杂SOAP请求转换为REST URI

Web services 将复杂SOAP请求转换为REST URI,web-services,rest,soap,Web Services,Rest,Soap,我试图创建一个RESTWeb服务,它提供与现有基于SOAP的web服务完全相同的功能。有些soap请求可能非常复杂,我很难弄清楚这些请求如何映射到URI。例如,以下SOAP方法体表示搜索: <HLRequest> <HLSearch correlId=”1”> <criteria numHLs="10" Level="AND" matchAll="true" exactHitCount="true" suppTemp="tru

我试图创建一个RESTWeb服务,它提供与现有基于SOAP的web服务完全相同的功能。有些soap请求可能非常复杂,我很难弄清楚这些请求如何映射到URI。例如,以下SOAP方法体表示搜索:

    <HLRequest>
        <HLSearch correlId=”1”>
        <criteria numHLs="10" Level="AND" matchAll="true" exactHitCount="true" suppTemp="true" suppHLOnly="true" chainHLOnly="true" startDate="2011-01-01T00:00:00" endDate="2011-01-07T23:59:59">>
            <symbols>
                <symbol>CSCO</symbol>
                <symbol>IBM</symbol>
                <symbol>MSFT</symbol>
            </symbols>
        </criteria>
        </HLSearch>
        <HLSearch correlId=”2”>
        <criteria numHLs="10">
            <symbols>
                <symbol>GOOG</symbol>
            </symbols>
        </criteria>

         </HLSearch>
    </HLRequest>

>
CSCO
国际商用机器公司
MSFT
谷歌
因此,我需要构造一个方法来处理具有不确定数量的重复查询参数的URI,我不确定如何/是否可以在REST范式中实现这一点

提前感谢,,
Ned

您真的需要将它们全部映射到URI吗?处理复杂数据的更好方法是制作一些json并发布。ApacheCXFJAX-RS支持可以自动将其映射到bean类

你的问题是,你对设计模式太执着了。有些事情休息是有益的,有些事情休息是不有益的,你只是找到了后者中的一个。您可以提出一些方案来将这些数据映射到URI,但为什么要这样做呢?这能解决什么问题?对于这些数据,XML可能是最好的表示方式,那么为什么不发布XML呢?

谢谢Mike,我完全同意这一点,但我的客户希望远离XML。我将不得不提出另一种方法向他们解释,在这种情况下,离开XML将产生比它解决的问题更多的问题。如果他们不这么做,就按照bmargulies的建议,使用JSON。实际上,我认为在大多数用例中,JSON是比XML更好的选择——但我想既然你已经在一端得到了XML,那么你也可以在另一端使用它。不,我想我真的不需要,我只是在研究它。我可能会采用发布json的方法