【发布时间】:2014-03-10 20:18:10
【问题描述】:
我需要使用 JAX-WS 从响应中获取 SOAP 标头才能使用 WS。这是响应xml:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<sessaoIdHeader xmlns="http://www.cvm.gov.br/webservices/">
<Guid>9d63221b-8a3a-4fd6-84fe-100fa53a55d5</Guid>
<IdSessao>237196706</IdSessao>
</sessaoIdHeader>
</soap:Header>
<soap:Body>
<LoginResponse xmlns="http://www.cvm.gov.br/webservices/"/>
</soap:Body>
</soap:Envelope>
这是我的 Java 代码:
WsDownloadInfs infs = new WsDownloadInfs();
WsDownloadInfsSoap proxy = infs.getWsDownloadInfsSoap();
proxy.login(1779, "5270");
在这个操作中我没有返回(它是无效的)。
我尝试过像这样使用 BindingProvider:
BindingProvider prov = (BindingProvider) proxy;
HeaderList list = (HeaderList) prov.getResponseContext().get("com.sun.xml.internal.ws.api.message.HeaderList");
但它没有任何属性。
【问题讨论】:
-
什么是 WsDownloadInfs?请添加更多上下文(代码)。
-
WsDownloadInfs 是我的服务类。
标签: java web-services soap jax-ws