Wednesday, April 20, 2016

TD Benifit

If you select a registered account:
• your contributions are made with ‘before-tax’ dollars each pay.
• TD’s contributions will go into a Deferred Profit Sharing Plan or DPSP and you will receive a tax
receipt showing TD’s contributions as part of your Pension Adjustment. This amount will reduce
your RSP contribution room for the next year.
If you direct either your own or TD’s contributions into a registered account, you need to ensure you
have available RSP contribution room.
If you select a non registered account…
• your contributions are made with ‘after tax’ dollars.
• TD’s contributions are considered taxable income and you will receive a T4PS slip at tax time.
The Employee Ownership Plan provides flexibility to make changes each calendar quarter.

If you withdraw from an RSP account,
 The amount withdrawn is taxable.
 You’ll receive a tax receipt for your withdrawal amount and you’ll need to report this as
taxable income for the year.
If you withdraw from a non-registered account no tax slip is issued.
• You are responsible for calculating and reporting any capital gains or losses on your TD
Bank shares on your income tax return.
• Please refer to HR Self Service for your annual statements, transaction history and your
withdrawal statement for the information you need to calculate and report you capital gains
or losses.

If you leave TD and…
have been employed by TD for 2 continuous years, you’re entitled
to your total Employee Ownership Plan balance
 have not been employed by TD for 2 continuous years, you can
withdraw your contributions only. TD’s contributions are forfeited.
 If you return to TD within 3 months, you can participate in the
Employee Ownership Plan immediately.

Oracle pl/sql note

DBMS_METADATA
BEGIN DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'PRETTY', true); END;
DBMS_METADATA.GET_DDL

Oracle 11g new features:
continue support
virtual column
disabled triggers
result cache

The advantage to using RAISE_APPLICATION_ERROR instead of RAISE is that you can associate
an error message with the exception.

SQLERRM will return is 512 bytes, Oracle recommends DBMS_UTILITY.FORMAT_ERROR_STACK
DBMS_UTILITY.FORMAT_ERROR_BACKTRACE --see the error line number

System exception
An exception that is defined by Oracle and is usually raised by the PL/SQL runtime
engine when it detects an error condition. Some system exceptions have names,
such as NO_DATA_FOUND, while many others simply have numbers and
descriptions.
Programmer-defined exception
An exception that is defined by the programmer and is therefore specific to the
application at hand. You can associate exception names with specific Oracle errors
using the EXCEPTION_INIT pragma (a compiler directive, requesting a specific
behavior), or you can assign a number and description to that error using
RAISE_APPLICATION_ERROR.

Associative arrays:
 like hash table
Nested tables:
 unbounded
 become sparse through deletions
 no inherent order to the elements
varrays:
 must specify the max number of elements
 never sparse
 element order is preserved

python note

Java is a statically typed language, i.e. the types are checked and enforced at compile time. In contrast, Python is dynamic which means that the types are checked only at runtime.
Python also supports a rich set of functional programming features and idioms. In Python, functions are first-class objects that can be created, manipulated and passed around just
like any other object.

== is for value equality.
is is for reference equality.

The // operator is also provided for doing floor division no matter what the operands are.
>>> 17 / 3.0  # int / float -> float
5.666666666666667
>>> 17 // 3.0  # explicit floor division discards the fractional part
5.0

Python is an interpreted language, which can save you considerable time during program development because no compilation and linking is necessary.
The interpreter can be used interactively.

ensures they are always cleaned up promptly and correctly.
with open("myfile.txt") as f:
    for line in f:
        print line

comments:
# or """ """


write file:
>>> out=open("data.out","w")
>>> print("Its a write test for Python",file=out)
>>> out.close

try/except/finally
try:
data = open('its.txt', "w")
print("It's...", file=data)
except IOError as err:
print('File error: ' + str(err))
finally:
if 'data' in locals():
data.close()

Sunday, April 17, 2016

在成长的过程中丢弃了最初的美好

很多人都在成长的过程中丢弃了最初的美好,当初执拗的相信童话的孩子永远的走向了成年,抛却了一切童真,行走于这纷扰的世间,为各种各样的事奔波劳碌,但心里总归还是相信美好,周星驰用独特的方式,在俗世中维护了曾经我们每个人那颗纯真的心。

Wednesday, April 13, 2016

Design Patters example in JDK

Swing
EventListener: Observer
BorderFactory: Factory
Look and feel: Abstract Factory


1. Creational Patterns
Factory
BorderFactory.createLineBorder
BorderFactory.createTitledBorder
Factory Method
Calendar.getInstance()
Abstract Factory
SWT control (or JDK look & feel)
IGUIFactory (WinFactory, OSXFactory ...)
IButton (WinButton, OSXButton ...)
if(Win)
createWinButton
Builder (too many parameters)
StringBuffer.append
StringBuilder.append
ProtoType (reduce the class number)
Object.clone() (Cloneable)
Singleton
Runtime.getRuntime()
lazy initialization
eager initialization
static block initialization
static class holder
enum way
NullObject

2. Structural Patterns (Structural patterns are concerned with how classes and objects arecomposed to
form larger structures.Structural class patterns use inheritance to compose
interfacesor implementations.)
Adapter (Convert the interface of a class into another interface clients expect)
InputStreamReader(InputStream): returns a Reader
Arrays.asList
Bridge (TODO):
Composite (Compose objects into tree structures to represent part-whole hierarchies.
Composite lets clients treat individual objects and compositions of object uniformly.)
Container.add: return Component
Decorator (Attach additional responsibilities to an object dynamically. Decorators provide
a flexible alternative to subclassing for extending functionality.):
1. All subclasses of java.io.InputStream, OutputStream, Reader and Writer have a constructor taking an instance of same type.
2. java.util.Collections, the synchronizedXXX() and unmodifiableXXX() methods.
Facade
My example: ACUtils.getResult(String queryStr) return List<String>
Flyweight
Integer.valueOf, Boolean.valueOf
proxy (Provide a surrogate or placeholder for another object to control access to it.)
java.lang.reflect.Proxy (InvocationHandler.newInstance())
rmi/web service

3. Behavioral Patterns (Behavioral patterns are concerned with algorithms and theassignment of
responsibilities between objects. Behavioral patternsdescribe not just patterns
of objects or classes but also the patternsof communication between them.)
Chain of Responsibility (giving morethan one object a chance to handle the request.)
java exception handling, set the processor request
Command (the toolkit can't implement the request
explicitly in the buttonor menu, because only applications that use the toolkit
know whatshould be done on which object.)
java.lang.Runnable
javax.swing.Action
Interpreter
java.text.Format
java.util.Patterns
JavaCC
Iterator
Iterator (has remove method and has a shorter/better method name)
Enumeration
Mediator
Executor.execute
Momento (capture and externalize an object'sinternal state so that the object can be restored to this state later.)
All implementations of java.io.Serializable
xml marshal/unmarshal
Observer
EventListner
State(TODO)
Strategy:
Comparator.compare
Template method
All non-abstract methods of java.util.AbstractList or other class
Visitor
SimpleFileVisitor

Monday, April 11, 2016

晚上打篮球后吃什么

之前不要吃太饱,运动回来后喝一杯温牛奶+香蕉/苹果

一般以减脂塑形为目的,无需很夸张速效地增肌的话,你基本不用理会各种蛋白粉健饮什么的,在健身前1小时吃两根香蕉足以补充热量提供体力支持,而且它的完美之处还在于运动过程中不知不觉保健肠胃,你从心理上更不会觉得摄入过多的糖分和热量,不会还没健身先顶了一身压力。+运动结束以后重点是补水和少量补糖,但是也不要立即这样做,建议在40分钟以后吃一只不那么高糖的水果,喝一杯牛奶。切忌咖啡、茶饮这种消肿利尿加速脱水的饮料,也不要碰那些高糖的碳酸或者果汁饮料&rlz=1C1CAFB_enCA684CA684&oq=一般以减脂塑形为目的,无需很夸张速效地增肌的话,你基本不用理会各种蛋白粉健饮什么的,在健身前1小时吃两根香蕉足以补充热量提供体力支持,而且它的完美之处还在于运动过程中不知不觉保健肠胃,你从心理上更不会觉得摄入过多的糖分和热量,不会还没健身先顶了一身压力。++运动结束以后重点是补水和少量补糖,但是也不要立即这样做,建议在40分钟以后吃一只不那么高糖的水果,喝一杯牛奶。切忌咖啡、茶饮这种消肿利尿加速脱水的饮料,也不要碰那些高糖的碳酸或者果汁饮料

如果是晚饭后再运动的话,且体脂比较高减肥意愿比较强烈,那么:+1、两根香蕉完全可以取代晚餐,并尽量在17:00以前吃,对于大多数人的作息来说,17%3A00以后吃水果(特别是高糖水果,事实上水果都是比较高糖的)都没有太大意义了,而且这些糖分很难解决掉,所以有些东西即便好,也不是怎么吃随时吃都好。+2、18:00~20%3A00之间解决你今天以内所剩的运动量,不要再拖后,否则得不偿失,原因说过了如果你已经长时间习惯晚睡,那么运动时间最多可以拖到21%3A00.+3、晚练过后不比白天,没有多久就睡觉了,运动完40分钟以后你只需要一杯补养助眠的温牛奶,如果你实在饿到不行了,牛奶根本欺骗不了你的胃,那么,你最好也只吃一些水煮的蔬菜(胡萝卜、花椰菜、白菜等),少许。&rlz=1C1CAFB_enCA684CA684&oq=如果是晚饭后再运动的话,且体脂比较高减肥意愿比较强烈,那么:+1、两根香蕉完全可以取代晚餐,并尽量在17:00以前吃,对于大多数人的作息来说,17%3A00以后吃水果(特别是高糖水果,事实上水果都是比较高糖的)都没有太大意义了,而且这些糖分很难解决掉,所以有些东西即便好,也不是怎么吃随时吃都好。+2、18:00~20%3A00之间解决你今天以内所剩的运动量,不要再拖后,否则得不偿失,原因说过了如果你已经长时间习惯晚睡,那么运动时间最多可以拖到21%3A00.+3、晚练过后不比白天,没有多久就睡觉了,运动完40分钟以后你只需要一杯补养助眠的温牛奶,如果你实在饿到不行了,牛奶根本欺骗不了你的胃,那么,你最好也只吃一些水煮的蔬菜(胡萝卜、花椰菜、白菜等),少许。

根据描述,楼主是一位运动爱好者,爱好各种体育锻炼,但是很少进入健身房进行大重量的肌肉刺激生长训练,那像蛋白质粉、大量鸡蛋清这类高蛋白食品并不适合楼主,并且,楼主的锻炼时间偏晚,如果晚上12睡觉的话,运动之后2小时就要睡觉,此时非常不适合摄入大量蛋白质,身体短时间内无法消化吸收这么多蛋白质,而且睡眠中残留在肠胃的食物对消化系统有损伤。+楼主的锻炼时间正好在晚饭后2小时,并不需要额外摄入能量,晚饭多吃点碳水化合物主食和高蛋白食物就可以了,碳水化合物可以提供充足的能量供应,高蛋白食物(瘦肉、鱼类、鸡蛋)可以确保你的肌肉中的蛋白质含量充足,在剧烈运动时蛋白质的消耗也是很大的,如果蛋白质补充不足,越练越瘦也是可能的。+运动之后食用一些水果,比如香蕉,短时间内提供能量,苹果、草莓、梨什么的家常水果提供充足矿物质和维生素帮助你的身体恢复,调节体内PH值。不要喝果汁、咖啡、巧克力和碳酸饮料,那里面的成分除了糖之外,剩下的维生素含量没多少。如果哪天运动量很大,饿的不行,吃一些低脂的能量食物,如全麦面包,少量鸡蛋清也OK,+睡前一包牛奶,提高睡眠质量,提供适量钙质、蛋白质,利于身体恢复,防止肌肉抽筋。&rlz=1C1CAFB_enCA684CA684&oq=根据描述,楼主是一位运动爱好者,爱好各种体育锻炼,但是很少进入健身房进行大重量的肌肉刺激生长训练,那像蛋白质粉、大量鸡蛋清这类高蛋白食品并不适合楼主,并且,楼主的锻炼时间偏晚,如果晚上12睡觉的话,运动之后2小时就要睡觉,此时非常不适合摄入大量蛋白质,身体短时间内无法消化吸收这么多蛋白质,而且睡眠中残留在肠胃的食物对消化系统有损伤。+楼主的锻炼时间正好在晚饭后2小时,并不需要额外摄入能量,晚饭多吃点碳水化合物主食和高蛋白食物就可以了,碳水化合物可以提供充足的能量供应,高蛋白食物(瘦肉、鱼类、鸡蛋)可以确保你的肌肉中的蛋白质含量充足,在剧烈运动时蛋白质的消耗也是很大的,如果蛋白质补充不足,越练越瘦也是可能的。+运动之后食用一些水果,比如香蕉,短时间内提供能量,苹果、草莓、梨什么的家常水果提供充足矿物质和维生素帮助你的身体恢复,调节体内PH值。不要喝果汁、咖啡、巧克力和碳酸饮料,那里面的成分除了糖之外,剩下的维生素含量没多少。如果哪天运动量很大,饿的不行,吃一些低脂的能量食物,如全麦面包,少量鸡蛋清也OK,+睡前一包牛奶,提高睡眠质量,提供适量钙质、蛋白质,利于身体恢复,防止肌肉抽筋。

Tuesday, April 5, 2016

中山大学公开课 头痛

中山大学公开课 头痛
闫振文 中山大学孙逸仙纪念医院  神经科 

http://yanzhenwen.haodf.com/
yanzhw@mail.sysu.edu.cn

http://gangli2008.haodf.com/payment/newintro

跟月经期没关系,每年发作一两次或更多,每次疼痛持续一个月或更长。前额头附近疼痛,全身无力,双腿发软发抖

原发性头痛 78%
     找不到病因,偏头痛、紧张性头痛、丛急性头痛
继发性头痛 13%  (头痛只是一部分)
     颅内肿瘤、过度使用药物等引起
其它头痛
    三叉神经痛等

1. 偏头痛,几十年反复发作,伴有呕吐,呕吐之后会缓解
大部分是偏侧,但也有很多是双侧。偏爱于女性
40岁较多,60岁后极少
月经前后易发作,头痛期 4-72小时,发作期有没有什么先兆?(怕吵,眼发麻,言语不流利,锯齿形闪光或视觉扭曲)
2. CT:检查方便,安全快速,外伤
   MRI(磁共振):看到的病灶更加清晰,可检测脑白质异常、肿瘤等

丛急性头痛,较少见,很有规律,剧痛,男性为多
紧张性头痛:轻到中度,日常活动不加重,无恶心和呕吐,畏光畏声,一般为双侧头痛,布袋子捂住一样的痛
偏头痛:
      有时候有先兆,有时候无先兆,中到重度
       痛的时候捂住太阳穴这个地方,畏声畏光,活动会加重,搏动性头痛(一跳一跳的痛),恶心或呕吐(有的不呕吐),劳动能力下降

       偏头痛患者的体格检查往往没有异常发现
       偏头痛是目前无法根治但可以有效控制的疾患

慢性每日头痛,每月超过15天,每天超过4小时



诱发因素,头痛日记,以前吃过什么药
有无抑郁,焦虑,睡眠问题
(睡眠问题引起头痛,还是头痛引起失眠)
头痛部位,头痛时间与分布
上次就诊时间,何时做过哪些检查
头痛的性质程度怎样,如刀割样、烧灼样、刺痛、跳痛、胀痛、还是爆裂样痛;头痛加重和缓解的因素。

同时要提供与头痛伴发的症状,也即各种原发病的应有症状:如有无伴随引起颅内严重病变的恶心、呕吐、意识障碍、神经系统症状(肢体无力、麻木、抽搐、视力障碍)等,有无引起头颈部病变的五官症状(流泪、鼻阻、流涕)等,有无发热等全身性疾病的症状,有无失眠、多梦、多虑、焦虑、恐惧、抑郁等神经官能症症状,防止遗漏早期的严重病变。

Web service summary

JAVA 中共有三种WebService 规范,分别是JAXM&SAAJ、JAX-WS(JAX-RPC)、JAX-RS
1. JAX-WS:
JAX-WS(Java API For XML-WebService),JDK1.6 自带的版本为JAX-WS2.1,其底层支
持为JAXB。
JAX-WS(JSR 224)规范的API 位于javax.xml.ws.*包,其中大部分都是注解,提供API 操
作Web 服务(通常在客户端使用的较多,由于客户端可以借助SDK 生成,因此这个包中的
API 我们较少会直接使用)。
WS-MetaData(JSR 181)是JAX-WS 的依赖规范,其API 位于javax.jws.*包,使用注解配
置公开的Web 服务的相关信息和配置SOAP 消息的相关信息。
2. JAXM&SAAJ:
JAXM(JAVA API For XML Message)主要定义了包含了发送和接收消息所需的API,相当
于Web 服务的服务器端,其API 位于javax.messaging.*包,它是JAVA EE 的可选包,因此
你需要单独下载。
SAAJ(SOAP With Attachment API For Java,JSR 67)是与JAXM 搭配使用的API,为构建
SOAP 包和解析SOAP 包提供了重要的支持,支持附件传输,它在服务器端、客户端都需要
使用。这里还要提到的是SAAJ 规范,其API 位于javax.xml.soap.*包。
JAXM&SAAJ 与JAX-WS 都是基于SOAP 的Web 服务,相比之下JAXM&SAAJ 暴漏了SOAP
更多的底层细节,编码比较麻烦,而JAX-WS 更加抽象,隐藏了更多的细节,更加面向对
象,实现起来你基本上不需要关心SOAP 的任何细节。那么如果你想控制SOAP 消息的更
多细节,可以使用JAXM&SAAJ,目前版本为1.3。
3. JAX-RS:
JAX-RS 是JAVA 针对REST(Representation State Transfer)风格制定的一套Web 服务规范,
由于推出的较晚,该规范(JSR 311,目前JAX-RS 的版本为1.0)并未随JDK1.6 一起发行,
你需要到JCP 上单独下载JAX-RS 规范的接口,其API 位于javax.ws.rs.*包。
这里的JAX-WS 和JAX-RS 规范我们采用Apache CXF 作为实现,默认CXF
是依赖于Spring 的,Bus 都有一个ID,默认的BUS 的ID 是cxf。你要注意的是Apache CXF
2.2 的发行包中的jar 你如果直接全部放到lib 目录,那么你必须使用JDK1.6,否则会报
JAX-WS 版本不一致的问题。对于JAXM&SAAJ 规范我们采用JDK 中自带的默认实现。


1. JAX-WS:
@WebService
public interface IHelloService
...
使用类级别注解@WebService 就标注了这个接口的方法
将公开为Web 服务,使用了这个注解的接口的所有方法都将公开为Web 服务的操作,如果
你想屏蔽某个方法,可以使用方法注解@Method 的exclude=true。我们也通常把公开为Web
服务的接口叫做SEI(Service EndPoint Interface)服务端点接口。

public class HelloServiceImpl implements IHelloService
这个实现类没有任何特殊之处,但是如果你的实现类还实现了其他的接口,那么你需要在实
现类上使用@WebService 注解的endpointInterface 属性指定那个接口是SEI(全类名)

Endpoint.publish("http://127.0.0.1:8080/helloService",
new HelloServiceImpl());
你可能会差异,我们没有
借助Tomcat 这样的Web 服务器,直接运行一个main 方法是怎么发布的Web 服务呢?其实
CXF 内置了Jetty(Servlet 容器),因此你不需要将你的程序部署到Tomcat 等Web 服务器
也可以正常发布Web 服务。

如果你的某些注解的header=true,那么它将被放到
<soap:Header …中传输,而不是SOAP 消息正文
如果是OUT、INOUT 类型的参数类型,这样的方法参数将会被当做返回值在Web 服务调
用完成后返回给你,客户端生成代码时会被转变为javax.xml.ws.Holder<T>类

JAX-WS 中的服务端的自定义异常使用javax.xml.ws.WebFault 注解来完成,这样的异常会在
WSDL 文件中的<wsdl:operation …中的子元素生成<wsdl:fault …

2. JAVA的 WebService规范 JAX-RS
REST 是一种软件架构模式,只是一种风格,不是像SOAP 那样本身承载着一种消息协议,
(两种风格的Web 服务均采用HTTP 做传输协议是因为HTTP 协议能穿越防火墙,JAVA
的远程调用RMI 等是重量级协议,不能穿越防火墙)
。REST 中重要的两个概念就是资源定位和资源操作,而HTTP 协议恰好完
整的提供了这两个要点,HTTP 协议中的URI 可以完成资源定位,GET、POST、OPTION
等方法可以完成资源操作,因此REST 完全依赖HTTP 协议就可以完成Web 服务,而不像
SOAP 协议那样只利用HTTP 的传输特性,定位与操作由SOAP 协议自身完成,也正是由于
SOAP 消息的存在,使得SOAP 笨重。你也可以说REST 充分利用了HTTP 协议的特性,而
不是像SOAP 那样只利用了其传输这一特性
REST 简单易用,
效率高,SOAP 成熟度较高,安全性较好。
REST 提供的网络服务叫做OpenAPI,它不仅把HTTP 作为传输协议,也作为处理数据的工
具,可以说对HTTP 协议做了较好的诠释,充分体现了HTTP 技术的网络能力。目前Google、
Amazon、淘宝都有基于REST 的OpenAPI 提供调用。
JAX-RS 的API 在javax.ws.rs.*包中,其中大部分也是注解。
访问REST 风格的Web 服务很简单,你完全不需要像SOAP 使用SDK 生成客户端代码,因
为REST 完全依赖HTTP 协议, 从这里可见REST 是轻量级的。
你可
以用((HttpURLConnection)new URL(“***”).openConnection()).getInputStream()获取,然
后使用程序处理这个接收到的结果。为了更加好的使用HTTP 访问REST 服务,推荐你使用Apache HttpComponents-Client 组件进行HTTP 操作,因为这里使用的示例是GET 方法的请
求,你是用URL 直接访问或者使用java.net.URL 类来访问很容易,但是如果Web 服务的方
法使用@PUT 等注解,那么你就需要费一番头脑来在请求报头中加入要请求的方法类型等
信息,这些是很繁琐的事情
前面我们都是使用了HTTP-Components-Client 的API 来访问REST 服务,这也是比较干净
的方式,所谓干净就是完全依赖HTTP 的API(其实更加干净的方式就是使用JAVA 自带的
HTTP 的API 操作) , 但是过于干净的调用方式总会很麻烦( 很明显使用
HTTP-Components-Client 要比java.net.*下面的API 要来得简单),其实CXF 自带的
org.apache.cxf.jaxrs.client.WebClient 用起来更加简单。
常用的安全策略机制:
I.传统的用户名令牌机制:
Apache WSS4J(WebService Security For Java)实现了JAVA 语言的WS-Security,CXF 中使
用WSS4J 也是很容易的,WSS4J 依赖于SAAJ。
II.数字签证方法:
除了UsernameToken 这种传统的安全机制,常用的验证动作还有一个就是使用数字签证技
术(X.509 Certificates),
III.混合验证方法:
WSS4J 支持如下几种验证模式:
XML Security
XML Signature
XML Encryption
这两种验证模式都是使用数字签证技术。
Tokens
Username Tokens
Timestamps
SAML Tokens

Web 服务的调用默认都是阻塞调用,但是JAX-WS 也支持异步调用。
因为在Future 的get()方法被调用之前,它不会产生阻
塞,这样你可以在方法执行的最后再去获取异步计算的结果。那么你可能会问,这样整个方
法还是不能算作完全的异步调用,因为最后要返回值的时候还是会阻塞哦!其实有返回值的
Web 服务调用本就不应该使用异步调用,因为返回值通常你都是要拿回来立即使用的。这
种异步调用机制适合于无返回值的Web 服务调用,这样你就不需要再调用Future 的get()方
法了。
如果你想有返回值的时候也进行异步调用,那么就只能使用最原始的开启新的线程的方法,
也就是将Web 服务方法的调用放在run()方法中执行。

实SAAJ 提供的API 就是用于组装和解构
SOAP 消息的。

使用JAXM发布Web服务:
JAXM 的API 实际上就是用来将一个Servlet 发布成WebService 的地址,它要求你的Servlet
继承javax.xml.messaging.JAXMServlet 并实现javax.xml.messaging.ReqRespListener 接口(如
果Web 服务是单向的, 也就是没有返回值给客户端, 那么可以实现
javax.xml.messaging.OnewayListener 接口),其实这一个抽象类和两个接口是我们可以使用
的三个JAXM 的API,其余的基本上都是JAXM 底层实现需要使用的API,我们并不需要
关心。
在实际应用中,你可以把你的业务层放在onMessage()方法中调用,相当于把业务层的方法
用这个Servlet 包装成了Web 服务,这个Servlet 不可以使用普通的方式访问,只能使用
SoapConnection 的call()方法调用。
实际上你可以看出来,JAXM 发布的Web 服务比较简单,完全省略了WSDL,这也就是说,
你用这种方式发布Web 服务,必须把要接收的Soap 消息的内容说明发布出来(有点儿类似
于REST 风格的OpenAPI),这样客户端才知道如何组装你想要的SOAP 消息。从这里你也
可以看出来,HTTP 协议与SOAP 消息是基于SOAP 的基本组成,WSDL 是完全可以没有的,
WSDL 的作用是异构平台为了方便使用自己的语言特性的中间桥梁。




Sunday, April 3, 2016

健身计划

每周日总结一下
11:00睡觉,6:30起床
  1. 周一、周三打篮球
回来立即泡衣服洗澡,11:30前睡觉

  1. 周二、周四深蹲
  2. 周五游泳或跑步
  3. 周六健步或深蹲