Я реплицирую уже существующий SOAP WS, используя JAX-WS. У меня проблемы с пересозданием того же запроса на моем WS.
Это запрос WS, который я должен получить:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns2:wrapper xmlns:ns2="http://example.com/request" xmlns:ns3="http://example.com/response">
<ns2:var1>data1</ns2:var1>
<ns2:var2>data2</ns2:var2>
<ns2:var3>data3</ns2:var3>
</ns2:wrapper>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
И вот запрос, которым я заканчиваю:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.api.falabella.cl/" xmlns:req="http://example.com/req">
<soapenv:Header/>
<soapenv:Body>
<web:request>
<wrapper>
<req:var1>data3</req:var1>
<req:var2>data2</req:var2>
<req:var3>data3</req:var3>
</wrapper>
</web:request>
</soapenv:Body>
</soapenv:Envelope>
Для создания этого запроса у меня есть следующие вещи:
Определение компонента:
@Component(value = "webService")
@WebService(name = "request")
public class WebService {
@WebMethod
@WebResult(name = "Response")
public Response request (
@WebParam("name="request") @XmlElement(required=true) Request request
) {
// do stuff
}
}
Определение запроса:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name="request_TYPE", propOrder = {
"var1",
"var2",
"var3"
})
@XmlRootElement(name="request")
public class Request {
@XmlElement(required = true)
protected String var1;
@XmlElement(required = true)
protected String var2;
@XmlElement(required = true)
protected String var3;
// get & set
}
Мой вопрос: что я здесь не так делаю? Как мне получить то же определение запроса, что и мне?