gpt4 book ai didi

java - 如何从 axis1 stub 获取传输的响应 header

转载 作者:太空宇宙 更新时间:2023-11-04 12:30:09 28 4
gpt4 key购买 nike

我可以知道如何从 Axis 1 SOAP stub 获取响应 header 吗?

响应日志:

HTTP/1.1 200 OK
Server: Jetty(8.1.17.v20150415)
Content-Type: text/xml;charset=UTF-8
Content-Length: 1547
MyHeader: test
Date: Mon, 20 Jun 2016 04:41:20 GMT

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body>
........
</soap:Body>
</soap:Envelope>

在java中,我使用invoke2方法并传递messageContext来获取响应头。但未能获取上面提供的 header 。

invoke2(soapBindingStub._getCall().getMessageContext());

public void invoke2(org.apache.axis.MessageContext context) throws AxisFault {
System.out.println("invoke 2 called");
Iterator pros = context.getAllPropertyNames();
while (pros.hasNext())
System.out.println("Name : " + pros.next());
if (!(context.getProperty("transport.http.servletResponse") instanceof HttpServletResponse)) return;

StringBuilder headers = new StringBuilder();
HttpServletResponse request = (HttpServletResponse)context.getProperty(MessageContext.HTTP_RESPONSE_HEADERS);

Collection c = request.getHeaderNames();
Iterator e = c.iterator();
while (e.hasNext()) {
String headerName = (String)e.next();
headers.append(String.format("%s: %s%n", headerName, request.getHeader(headerName)));
}

// log
System.out.println(headers.toString());
}

请帮助我从 axis1 SOAP stub 获取响应 header “MyHeader”?

谢谢..

最佳答案

现在工作正常。

String[] header1 = soapBindingStub._getCall().getMessageContext().getResponseMessage().getMimeHeaders().getHeader("MyHeader");
logger.info(loggerHeader + "header1[0] ="+header1[0]);

谢谢。

关于java - 如何从 axis1 stub 获取传输的响应 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37934600/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com