给它做代理之后你这个端口是什么?

做一个代理.

Local monitoring port:本地的监听端口.你要给谁做代理,那么给它做代理之后,你这个代理的端口是什么?

现在要给百度做一个代理.

能看到请求和响应的消息.就是它百度页面给你返回的代码.

这个东西也能应用到我们的WebService上.从WebService上能看到请求和响应的消息体具体的详细的东西.

http://localhost:8077/person?wsdl

这个文档我们就可以把它生成一个客户端代码.我们调用它的时候每一次调用都会发生请求消息和响应消息在一个监听器里面给我们展示出来.继续来把这个代码做一个生成.

添加Person的时候它就应该发送一个消息体了.那这个消息体应该就是

修改监听器:

第一步首先它的目的是用GET的方式读WSDL文档,读这个说明书.读完说明书当你走到下面这个添加的时候,它就会根据说明书来发送一个消息体.

再往下走,添加Person的时候就应该发送一个消息体了.这个消息体就应该是Envelope开头,然后以Body以及Person的成员变量作为属性来发送过去.那么这边

Content-Type:text/xml;charset=utf-8.它请求到的Host地址就是你本机的代理:localhost:8077.你添加完之后它要给你一个添加成功的响应消息.

POST /person HTTP/1.1
Accept: text/xml, multipart/related
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://server.rl.com/PersonServer/addPersonRequest"
User-Agent: JAX-WS RI 2.2.9-b130926.1035 svn-revision#5f6196f2b90e9460065a4c2f4e30e065b245e51e
Host: localhost:8077
Connection: keep-alive
Content-Length: 267 <?xml version="1.0" ?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:addPerson xmlns:ns2="http://server.rl.com/"><arg0><address>xiangyashan</address><age>20</age><id>1</id><name>zhaoliu</name></arg0></ns2:addPerson></S:Body></S:Envelope>POST /person HTTP/1.1
Accept: text/xml, multipart/related
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://server.rl.com/PersonServer/addPersonRequest"
User-Agent: JAX-WS RI 2.2.9-b130926.1035 svn-revision#5f6196f2b90e9460065a4c2f4e30e065b245e51e
Host: localhost:8077
Connection: keep-alive
Content-Length: 266 <?xml version="1.0" ?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:addPerson xmlns:ns2="http://server.rl.com/"><arg0><address>gaolaozhang</address><age>25</age><id>2</id><name>tianqi</name></arg0></ns2:addPerson></S:Body></S:Envelope>
HTTP/1.1 200 OK
Transfer-encoding: chunked
Content-type: text/xml; charset=utf-8
Date: Tue, 24 Oct 2017 04:00:20 GMT 5e
<?xml version="1.0" ?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body>
50
<ns2:addPersonResponse xmlns:ns2="http://server.rl.com/"/></S:Body></S:Envelope>
HTTP/1.1 200 OK
Transfer-encoding: chunked
Content-type: text/xml; charset=utf-8
Date: Tue, 24 Oct 2017 06:32:07 GMT 5e
<?xml version="1.0" ?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body>
50
<ns2:addPersonResponse xmlns:ns2="http://server.rl.com/"/></S:Body></S:Envelope>

由于返回值是void.void它就不具有这个消息具体的逻辑的内容.

POST /person HTTP/1.1
Accept: text/xml, multipart/related
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://server.rl.com/PersonServer/getPersonAllRequest"
User-Agent: JAX-WS RI 2.2.9-b130926.1035 svn-revision#5f6196f2b90e9460065a4c2f4e30e065b245e51e
Host: localhost:8077
Connection: keep-alive
Content-Length: 187 <?xml version="1.0" ?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:getPersonAll xmlns:ns2="http://server.rl.com/"></ns2:getPersonAll></S:Body></S:Envelope>
HTTP/1.1 200 OK
Transfer-encoding: chunked
Content-type: text/xml; charset=utf-8
Date: Tue, 24 Oct 2017 06:27:01 GMT 5e
<?xml version="1.0" ?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body>
22f
<ns2:getPersonAllResponse xmlns:ns2="http://server.rl.com/"><return><address>xiangyashan</address><age>20</age><id>1</id><name>zhaoliu</name></return><return><address>xiangyashan</address><age>20</age><id>1</id><name>zhaoliu</name></return><return><address>xiangyashan</address><age>20</age><id>1</id><name>zhaoliu</name></return><return><address>xiangyashan</address><age>20</age><id>1</id><name>zhaoliu</name></return><return><address>xiangyashan</address><age>20</age><id>1</id><name>zhaoliu</name></return></ns2:getPersonAllResponse></S:Body></S:Envelope>
package com.rl.client;

import java.util.List;

import com.rl.monitor.Person;
import com.rl.monitor.PersonServer;
import com.rl.monitor.PersonServerService; public class TestPersonMonitorClient {
public static void main(String[] args) {
//创建服务访问点集合
PersonServerService pss = new PersonServerService();
//根据服务访问点获得绑定的类
PersonServer server = pss.getPersonServerPort();
//调用具体业务逻辑
Person person = new Person();
person.setId(1);
person.setName("zhaoliu");
person.setAge(20);
person.setAddress("xiangyashan"); Person person1 = new Person();
person1.setId(2);
person1.setName("tianqi");
person1.setAge(25);
person1.setAddress("gaolaozhang");
//调用添加人的webservice服务方法
server.addPerson(person);
server.addPerson(person1);
//调用查询所有人的webservice服务方法
/* List<Person> pList = server.getPersonAll();
for (Person p : pList) {
System.out.println("id: "+p.getId()+" name:"+p.getName() + " age:"+p.getAge() );
}*/ }
}

10.TCPIP监听器的更多相关文章

  1. Lib1vent:10链接监听器接受TCP链接

    evconnlistener机制提供了监听并接受TCP链接的方法.除非特别注明,本章的所有函数和类型都在event2/listener.h中声明. 一:创建或释放evconnlistener stru ...

  2. Quartz监听器

    1.概念Quartz的监听器用于当任务调度中你所关注事件发生时,能够及时获取这一事件的通知.类似于任务执行过程中的邮件.短信类的提醒.Quartz监听器主要有JobListener.TriggerLi ...

  3. srpingboot web - 启动(3) 监听器

    接上一篇 一. getRunListeners() 在run() 方法中调用了 getRunListeners(args) 方法, 先看一下这个方法干了什么 private SpringApplica ...

  4. 4.1 Spring源码 --- 监听器的原理

    目标: 1. 监听器如何使用 2. 监听器的原理 3. 监听器的类型 4. 多播器的概念和作用 5. 接口类型的监听器是如何注册的? 6. 注解类型的监听器和如何注册的? 7. 如果想在所有的bean ...

  5. Java Servlet规范

    截自网址:http://blog.csdn.net/u010391029/article/details/46521051 JavaServlet Specification  Version 2.3 ...

  6. nodejs学习之events

    在node里许多对象都发出事件:一个net.Server对象每次一个连接到来,都发出一个事件,一个fs.readStream对象在文件打开时放出一个事件.所有能放出事件的对象都是event.Event ...

  7. nodejs事件模块

    nodejs 事件模块 events 只有一个对象 EventEmitter . var EventEmitter = require('events').EventEmitter;var life ...

  8. nodejs模块——Event模块

    Node.js中,很多对象会发出事件.如,fs.readStream打开文件时会发出一个事件. 所有发出事件的对象都是events.EventEmitter的实例,可以通过require(" ...

  9. Java Swing 使用总结(转载)

    随笔转载自:此去经年ぢ 地址:http://www.cnblogs.com/FLFL/p/5369756.html 1.     GUI编程引言 以前的学习当中,我们都使用的是命令交互方式: 例如:在 ...

随机推荐

  1. DOM高级编程

    前言:W3C规定的三类DOM标准接口(换图)Core DOM(核心DOM),适用于各种结构化文档:XML DOM(Java OOP学过),专用于XML文档:HTML DOM,专用于HTML文档,下面了 ...

  2. 【技术累积】【点】【sql】【15】MySQL的TEXT和SELECT问题

    说明 只是TEXT和SELECT两个东西相关的问题,并不是两者之间的关系. TEXT TEXT类型,大文本类型,细分起来还有BIGTEXT,TINYTEXT等: 总体而言,就是处理mysql中存储大文 ...

  3. windows10上安装mysql详细图文教程

    在windows10上安装mysql详细图文教程   这篇文章主要介绍了在windows10上安装mysql详细图文教程,本文介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起看看吧 环境:windw ...

  4. marquee标签弹幕效果

    播放个视频的时候看到很有趣的弹幕,想着前端能不能做个弹幕效果.弹幕是滚动的,所以首先想到了<marquee>标签.但事实上,<marquee>标签不是w3c的标准,只是主流的浏 ...

  5. vmware Horizon 7 与远程桌面(mstsc)兼容性问题解决办法

    关于Horizon 7 Agent与远程桌面(mstsc)兼容性问题解决办法 在Horizon 7环境中,在桌面模板安装了Horizon Agent后,就无法直接通过微软的远程桌面(mstsc)工具连 ...

  6. 【Shell编程】Shell基本语法

    Shell 语法   Shell程序设计作为一种脚本语言,在Linux系统中有广泛的应用,本文记录了关于Shell程序设计的基础语法知识和常用命令,方便查询,熟练使用shell也需要经常实践,这对于完 ...

  7. Codeforces Round #548 (Div. 2) C. Edgy Trees

    You are given a tree (a connected undirected graph without cycles) of 

  8. 为什么多 TCP 连接比单 TCP 连接传输快

    转自: 我观察到,客户端机器从单一服务器使用 HTTP 下载一个文件:1. 单连接下载,速度没有达到客户端网络的最大带宽:2. 多连接同时下载,传输速度有极大的提高,带宽被占满. 假设如下前提:1. ...

  9. Python学习【第1篇】:环境配置

    1. 下载安装包 https://www.python.org/ftp/python/2.7.14/python-2.7.14.amd64.msi    # 2.7安装包   https://www. ...

  10. Pyhton高级-Socket

    1,UDP实现收发数据 import socket def send_msg(udp_socket): """获取键盘数据,并将其发送给对方""&qu ...