接口调用方发出的报文格式如下所示,docreturn方法参数主体是类似于document的一个集合,但是document集合没有父标签。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.evouchernotify.sapinterface..com/">
<soapenv:Header/>
<soapenv:Body>
<ser:DocReturn>
<Document>
<!--Zero or more repetitions:-->
<!--Optional:-->
<DocumentNumber>?</DocumentNumber>
<!--Optional:-->
<AccountingDoc>?</AccountingDoc>
<!--Optional:-->
<!--Optional:-->
<!--Zero or more repetitions:-->
<Message>
<!--Optional:-->
<!--Optional:-->
<MessageDesc>?</MessageDesc>
</Message>
</Document>
<Document>
<!--Zero or more repetitions:-->
<!--Optional:-->
<DocumentNumber>?</DocumentNumber>
<!--Optional:-->
<AccountingDoc>?</AccountingDoc>
<!--Optional:-->
<!--Optional:-->
<!--Zero or more repetitions:-->
<Message>
<!--Optional:-->
<!--Optional:-->
<MessageDesc>?</MessageDesc>
</Message>
</Document>
</ser:DocReturn>
</soapenv:Body>
</soapenv:Envelope>
现在的问题是接口调用方的报文格式没法改,我这边开发的接口是用cxf+jws,service方法的参数列表不知道该怎么写了。如果用ArrayList<Document>的话,生成的wsdl解析之后可以看到document内部自动添加了item标签(如图所示),导致service方法接收值为空,无法解析。
想问问各位在调用方报文格式不修改的前提下,有没有啥写法能让我这边的服务端可以接收调用方发出格式的报文并且成功解析,感激不尽!!!