【发布时间】:2019-05-29 12:31:10
【问题描述】:
使用由AXIS 生成的旧wsdl file 使其与spring ws 一起使用。在做了一些调整之后,我可以使用旧的 wsdl 生成 java 源代码。
现在我正在尝试从 soap UI 发出请求,但请求值在 endpoint method 中显示为 null。请求正确地传入backend,但不是values。
WSDL 文件
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:onl="http://online.mysite.com">
<soapenv:Header/>
<soapenv:Body>
<onl:getSummary soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<in0 xsi:type="onl:SummaryObject">
<docid xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">doc123</docid>
<amount xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">?</amount>
<duenew xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">?</duenew>
<reference xsi:type="xsd:long">?</reference>
<sortBy xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">?</sortBy>
<startDate xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">?</startDate>
</in0>
</onl:getSummary>
</soapenv:Body>
</soapenv:Envelope>
肥皂请求:
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:onl="http://online.mysite.com">
<soapenv:Header/>
<soapenv:Body>
<onl:getSummary soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<in0 xsi:type="onl:SummaryObject">
<docid xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">doc123</docid>
<amount xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">?</amount>
<duenew xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">?</duenew>
<reference xsi:type="xsd:long">121212121</reference>
<sortBy xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">?</sortBy>
<startDate xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">?</startDate>
<visibility xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">?</visibility>
</in0>
</onl:getSummary>
</soapenv:Body>
</soapenv:Envelope>
端点方法:
@PayloadRoot(namespace = NAMESPACE_URI, localPart ="getSummary")
@ResponsePayload
public JAXBElement<EObjects> getSummary(@RequestPayload SummaryObject summaryObject) {
System.out.println("Am done with this"+summaryObject.getDocId());
ObjectFactory factory = new ObjectFactory();
EObjects objects = factory.createEObjects();
QName qname = new QName("http://online.mysite.com", "eobjects");
return new JAXBElement(qname, EObjects.class, objects);
}
【问题讨论】:
标签: soap wsdl soapui axis spring-ws