Java 轴1:如何记录请求和响应xml
我正在使用Axis1.4并从wsdl生成java客户机。 我正在寻找一个很好的工作示例,它显示了如何记录完整的SOAP请求和响应。我确实看到过几个例子,其中使用了handleRequest、handleResponse方法,但我不理解如何从java类中使用/调用这些处理程序来捕获请求/响应 例如,下面是我如何调用服务并获得响应。我试图理解如何在代码中捕获完整的soapxml请求/响应Java 轴1:如何记录请求和响应xml,java,xml,soap,axis,Java,Xml,Soap,Axis,我正在使用Axis1.4并从wsdl生成java客户机。 我正在寻找一个很好的工作示例,它显示了如何记录完整的SOAP请求和响应。我确实看到过几个例子,其中使用了handleRequest、handleResponse方法,但我不理解如何从java类中使用/调用这些处理程序来捕获请求/响应 例如,下面是我如何调用服务并获得响应。我试图理解如何在代码中捕获完整的soapxml请求/响应 //locate service FundEditorServiceImplServiceLocator lo
//locate service
FundEditorServiceImplServiceLocator locator = new FundEditorServiceImplServiceLocator();
FundEditorService service = locator.getFundEditorServiceImplPort();//invoke service
FundInfo response = service.getFundInfo(fundInfoSpec);
您必须使用处理程序
HandlerRegistry hr = locator.getHandlerRegistry();
List<HandlerInfo> handlerChain = hr.getHandlerChain((QName) locator.getPorts().next());
HandlerInfo hi = new HandlerInfo();
hi.setHandlerClass(MyHandlerClass.class);
handlerChain.add(hi);
对于每个处理程序类,都必须生成HandlerInfo对象。在链上注册它,它应该可以工作。MyHandlerClass应该是javax.xml.rpc.handler.GenericHandler的子类。在这里,您必须实现handleResonse和/或handleRequest。您可以研究SOAPMessage,从方法的参数MessageContext中获取它,并将内容记录到首选的日志框架中。此链接具有完整的实现-