Ich habe eine generierte Klasse von einem SOAP-API.Set Korrekte Header für SOAP-Anfrage
Wenn die Anfrage gesendet, um es in diesem Format sendet:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<Login>
<username>Ayo.K</username>
<password>password</password>
</Login>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Aber was die api erwartet ist:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:adm="http://example.org/test_Service">
<soapenv:Header/>
<soapenv:Body>
<adm:Login>
<adm:username>Ayo.K</adm:username>
<adm:password>password</adm:password>
</adm:Login>
</soapenv:Body>
</soapenv:Envelope>
Meine Login-Klasse:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(
name = "",
propOrder = {"username", "password"}
)
@XmlRootElement(
name = "Login",
)
public class Login {
protected String username;
protected String password;
public Login() {
}
public String getUsername() {
return this.username;
}
public void setUsername(String value) {
this.username = value;
}
public String getPassword() {
return this.password;
}
public void setPassword(String value) {
this.password = value;
}
}
Wenn ich hinzufügen namespace = "http://example.org/test_Service"
an die @XmlRootElement
für die Login
Klasse bekomme ich:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns3:Login xmlns:ns3="http://example.org/test_Service">
<username>Ayo.K</username>
<password>password</password>
</ns3:Login>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Wie kann ich den richtigen Namespace im richtigen Format festlegen?
Danke!