Вот ожидаемый запрос SOAP от SOAP-UI:
Код: Выделить всё
12345
Код: Выделить всё
12345
- Префиксы пространства имен (против SOAP-ENV).
Код: Выделить всё
soapenv
- Дополнительные ненужные пространства имен.
Код: Выделить всё
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"policyId"
})
@XmlRootElement(name = "GetPolicy")
public class GetPolicy {
@XmlElementRef(name = "policyId", namespace = "http://uri.org/", type = JAXBElement.class, required = false)
protected JAXBElement policyId;
public JAXBElement getPolicyId() {
return policyId;
}
public void setPolicyId(JAXBElement value) {
this.policyId = value;
}
}
Код: Выделить всё
@Autowired
private WebServiceTemplate webServiceTemplate;
ObjectFactory factory = new ObjectFactory();
GetPolicy request = factory.createGetPolicy();
request.setPolicyId(factory.createGetPolicyPolicyId("12345"));
webServiceTemplate.setMarshaller(jaxb2Marshaller);
webServiceTemplate.setUnmarshaller(jaxb2Marshaller);
webServiceTemplate.setDefaultUri("SOAP_SERVER_URL");
JAXBElement response = (JAXBElement) webServiceTemplate.marshalSendAndReceive(request, new SoapActionCallback("SOAP_ACTION"));
return response.getValue();
Код: Выделить всё
@jakarta.xml.bind.annotation.XmlSchema(
namespace = "http://uri.org/",
elementFormDefault = jakarta.xml.bind.annotation.XmlNsForm.QUALIFIED
)
package my.package.name;
Вопросы:
- Как я могу гарантировать, что сгенерированный запрос SOAP использует Soapenv в качестве префикса пространства имен вместо SOAP-ENV?
- Как предотвратить включение ненужных пространств имен в
сгенерированный запрос SOAP?
Подробнее здесь: https://stackoverflow.com/questions/785 ... oot-and-ja