我在JBOSS EAP 6.2上安裝了一個WebService。當我想要獲取SOAP頭時出現問題。org.apache.cxf.binding.soap.SoapHeader無法轉換爲org.apache.cxf.binding.soap.SoapHeader
代碼,其中引發異常:
ArrayList<SoapHeader> hl = (ArrayList<SoapHeader>) wsctx.getMessageContext().get("org.apache.cxf.headers.Header.list");
String username = "";
String password = "";
for (int i = 0; i < hl.size(); i++) { //for(SoapHeader header : hl) gives this same exception
SoapHeader header = hl.get(i);
//here is fetching data from this header. Not important to this case.
}
我知道這是不是真的很漂亮,但在取頭和異常在這種方法percisely提出我很感興趣:
hl.get(i)
而且例外的消息是:
org.apache.cxf.binding.soap.SoapHeader cannot be cast to org.apache.cxf.binding.soap.SoapHeader
起初我在想我的Maven中的錯誤版本的POM文件如此:
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-bindings-soap</artifactId>
<version>2.4.2</version>
</dependency>
但它工作得很好,我認爲。
所以我的問題:如何避免它?誰能幫我?謝謝
我無法找到正確的版本。我查看了https://access.redhat.com/site/articles/112673,但只有指定的JBoss WS_CXF。也許我應該使用它而不是原始的apache庫? –
是的,你是對的,但真正的解決方案是使用其他庫:jboss-cxf-server。謝謝你的提示! –