2016-06-21 2 views
1

Могу ли я узнать, как получить заголовки ответов от осевого штифта оси 1?Как получить заголовки ответа транспорта от осевого осевого оконечного устройства

Response Log:

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 получить заголовок ответа. Но не удалось получить заголовки, указанные выше.

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()); 
     } 

Пожалуйста, помочь мне получить заголовки ответа «MYHEADER» от axis1 мыла шлейфом?

Спасибо ..

ответ

0

Теперь он отлично работает.

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

Thanks.

Смежные вопросы