![](/img/trans.png)
[英]Add custom Http header to SOAP request with Spring Boot
[英]How to catch custom SOAP Header localPart Request in Spring Boot
我有一個名為RequestSOAPHeader的 POJO類,用於SOAP Header。
在@Endpoint中,我正在捕獲標題,如下所示
@SoapHeader("{" + RequestSOAPHeader.AUTH_NS + "}RequestSOAPHeader")SoapHeaderElement auth
我的問題是,當我嘗試在POJO類中解組標題時,出現以下錯誤。
javax.xml.bind.UnmarshalException: unexpected element (uri:"http://www.test.com/schema/common/v2_1", local:"RequestSOAPHeader"). Expected elements are <{http://www.test.com/schema/common/v2_1}requestSOAPHeader>
我正在使用以下方法解組標題
private RequestSOAPHeader getAuthentication(SoapHeaderElement header){
RequestSOAPHeader authentication = null;
try {
JAXBContext context = JAXBContext.newInstance(RequestSOAPHeader.class);
Unmarshaller unmarshaller = context.createUnmarshaller();
authentication = (RequestSOAPHeader) unmarshaller.unmarshal(header.getSource());
} catch (JAXBException e) {
e.printStackTrace();
}
return authentication;
}
根據錯誤,我已將標頭localPart名稱更改為requestSOAPHeader ,並且工作正常。
@SoapHeader("{" + RequestSOAPHeader.AUTH_NS + "}requestSOAPHeader")SoapHeaderElement auth
但是我想將RequestSOAPHeader用作header的localPart,而不是requestSOAPHeader
我已經找到了解決方案。
只需在標頭類頂部添加以下代碼段@annotation
值即可。 希望能幫助到你
@XmlRootElement(namespace = "http://www.gooogle.com", name = "RequestSOAPHeader")
public class RequestSOAPHeader{
....
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.