CXF Service Interceptor请求,响应报文之控制台输出

时间:2022-12-20 15:56:19

一:定义接口

@WebService(targetNamespace = "http://www.unionpay.com/client/appprovider", name = "appManageToAppProvider") @XmlSeeAlso({com.cup.tsm.domain.databinding.jaxb.ObjectFactory.class, ObjectFactory.class}) @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) public interface AppManageToAppProvider {

       public void GetSay(String Name);

}

二:定义接口的实现

public class AppManageToAppProviderImpl implements AppManageToAppProvider{
   public void GetSay(String Name) {

    System.out.println("nihao :"+Name);
  
   }
 }

三:applicationContext.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
 xmlns:cxf="http://cxf.apache.org/core"
 xsi:schemaLocation="http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"
 default-autowire="byType" default-lazy-init="true">
 <description>使用Apache CXF的Web Service配置文件,以下三个为固定配置文件(不需要创建)
 </description>
 <import resource="classpath:META-INF/cxf/cxf.xml" />
 <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
 <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
 <!--在这里配置相应内容-->
 <jaxws:endpoint id="sump1"
  implementor="com.cup.tsm.integration.webservice.appprovider.AppManageToAppProviderImpl"
  address="/appManageToAppProvider">
   <jaxws:inInterceptors>
                <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
        </jaxws:inInterceptors>
  <!--
   <jaxws:inInterceptors>
                <bean class="com.cup.tsm.integration.webservice.appprovider.RequestInterceptor"/>
        </jaxws:inInterceptors>
   -->
 </jaxws:endpoint>
</beans>

四:Web.xml文件

<?xml version="1.0" encoding="UTF-8"?>  <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">

<!-- 环境参数配置 -->

<listener>

<listener-class>  org.springframework.web.context.ContextLoaderListener </listener-class>

</listener>

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value> /WEB-INF/applicationContext.xml  </param-value>

</context-param>

<!-- CXF -->

<servlet>

<servlet-name>CXFServlet</servlet-name>

<servlet-class>  org.apache.cxf.transport.servlet.CXFServlet </servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>CXFServlet</servlet-name>

<url-pattern>/*</url-pattern>

</servlet-mapping>

<welcome-file-list>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

</web-app>

五:创建服务端

public class AppManageToAppProvider_AppManageToAppProviderPort_Server{

protected AppManageToAppProvider_AppManageToAppProviderPort_Server() throws java.lang.Exception {

System.out.println("Starting Server");

Object implementor = new AppManageToAppProviderImpl();

String address = "http://localhost:7001/test/mtom";

Endpoint.publish(address, implementor);

}

public static void main(String args[]) throws java.lang.Exception {

new AppManageToAppProvider_AppManageToAppProviderPort_Server();

System.out.println("Server ready...");

JaxWsServerFactoryBean factory=new JaxWsServerFactoryBean();

factory.setServiceClass(AppManageToAppProviderImpl.class);

factory.setAddress("http://localhost:7001/test/mtom");

factory.getInInterceptors().add(new LoggingInInterceptor());

factory.getOutInterceptors().add(new LoggingOutInterceptor());

//        Thread.sleep(5 * 60 * 1000);

//        System.out.println("Server exiting");

//        System.exit(0);     }

六:soapui工具测试

CXF Service Interceptor请求,响应报文之控制台输出

七:控制台运行结果

CXF Service Interceptor请求,响应报文之控制台输出

                                                                   《3014-03-13》--renjie

CXF Service Interceptor请求,响应报文之控制台输出的更多相关文章

  1. HTTP请求响应报文&amp&semi;&amp&semi;相关状态码&amp&semi;&amp&semi;GET&lowbar;POST请求方法 总结

    HTTP请求报文: 一个HTTP请求报文由四个部分组成:请求行.请求头部.空行.请求数据 1.请求行   请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔.比如 GE ...

  2. HTTP请求响应报文 - 相关状态码 - GET&lowbar;POST请求方法

    HTTP请求报文: 一个HTTP请求报文由四个部分组成:请求行.请求头部.空行.请求数据 1.请求行 请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔.比如 GET ...

  3. HTTP 请求&sol;响应报文结构

    请求报文和响应报文都是由以下4部分组成: 1.请求行/响应行 2.请求头/响应头 3.空行 4.消息主体(请求体/响应体) 请求报文结构 请求行 格式为:Method Request-URI HTTP ...

  4. HTTP请求&sol;响应报文结构

    HTTP协议版本有两种:HTTP1.0和HTTP1.1 它们俩的区别在于:HTTP1.0对于每个连接都只能传送一个请求和响应,请求后就会关闭,HTTP1.0没有Host字段:而HTTP1.1在同一个连 ...

  5. 浏览器与服务端请求响应流程与HTTP协议

    浏览器与服务端请求响应流程图: 1.HTTP概要 1.1. 定义 HTTP(HyperText Transfer  Protocol,超文本传输协议)最早就是计算机与计算机之间沟通的一种标准协议,这种 ...

  6. cxf client在后台不通且chunk设置为false的时候不能在控制台输出请求日志

    场景: 服务编排框架支持编排webservice服务.call webservice的client是基于cxf做的.为了使用服务编排的开发者调试与定位问题方便,需要将webservice的请求与响应报 ...

  7. 关于HTTP请求报文和响应报文学习笔记

    超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层的一种通信协议.它是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求;服务器接 ...

  8. http请求报文格式和响应报文格式

    转载 出处 超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议.HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求 ...

  9. 阿里云API网关(18)请求报文和响应报文

    网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...

随机推荐

  1. hexo deploy出错的解决方法

    .ERROR Deployer not found: git 执行npm install hexo-deployer-git --save .$ hexo d INFO Deploying: git ...

  2. mixin设计模式

    mixin可以轻松被一个子类或者一组子类继承,目的是函数复用.在js中,我们可以将继承MiXin看作为一种通过扩展收集功能的方式. e.mixin = function(t) { for (var i ...

  3. python简明手册学习

    1.行末单独一个反斜杠表示字符串在下一行继续,而不是开始一个新的行. >>> "This is the first sentence.\ ... This is the s ...

  4. cms修改后台目录

    if (!_dirName.Equals("manage")) { if (PageType.IndexOf(_dirName) != -1) { PageType = PageT ...

  5. &lbrack;linux&rsqb;执行pip安装的程序:command not found

    执行pip安装的程序:command not found 问题描述: 我有一台阿里云服务器,上面装的是centos系统,我用pip安装好vituralenv,都没办法直接启动.同样 我今天在部署我的t ...

  6. spring controller中&commat;Value取不到applicationContext&period;xml中加载配置文件的问题

    原因还未查证: http://sunjun041640.blog.163.com/blog/static/256268322014127113844746/ 在使用spring mvc时,实际上是两个 ...

  7. filter&lowbar;map

    #!/usr/bin/env python # -*- coding:utf-8 -*- ret = filter( lambda x: x < 3, [1, 2, 3, 4, 5]) prin ...

  8. &period;net entity framework 泛型 更新与增加记录

    static public bool SaveOrUpdate<T>(T entity) where T: class { bool result = false; using (wech ...

  9. mqtt实现自动监听服务器消息

    本示例借助meteor的一个环境跑,和我们平时用的node自己搭的环境或java,php的环境本质一样,在此不多讨论. 首先需求是:多系统对接进行消息实时传递. 安装好mqtt:  npm insta ...

  10. LevelDB源码分析-Get

    Get LevelDB提供了Get接口用于给定key的查找: Status DBImpl::Get(const ReadOptions &options, const Slice &k ...