这一章节将会非常非常的简单,因为在前文code上做的修改只有4行。虽然我知道Namespace是个专业的规范,但是我对于wsdl的namespace相关概念太不熟悉了,按照我现在的认知,在这里使用非常鸡肋。
首先先思考一个场景:在一个Endpoint内,可以有多个方法来接受不同业务的请求。同时, 发起方只传递了一个uri和参数User,因此是如何来确定由具体哪个方法来接收呢?答案就是根节点名(localPart)…… 对于前文的例子来说,接受方法的选择,仅仅依靠的是根节点名user,更重要的是对于哪个Endpoint实现类的选择也是没有的。换句话说,不管你按照业务分了多少个endpoint,每个endpoint中分了多少个方法,这些方法就好像扔进了一个水池里,是混在一起的,而你只能通过根节点名选择执行的方法,这样,就不能有两个相同根节点名的方法并存。这样的局面我并不能接受。
所以我开始研究namespace的用法,但是结果依然让我失望,namespace也无法帮助我选择endpoint的方法。以下,我们先修改代码,看看namespace最最简单的用法是什么样的吧。
首先,修改[b]User.java[/b],在类名前加上namespace的注解
然后,在每一个属性的setter前也加入注解
[code]
@XmlElement(namesp
首先先思考一个场景:在一个Endpoint内,可以有多个方法来接受不同业务的请求。同时, 发起方只传递了一个uri和参数User,因此是如何来确定由具体哪个方法来接收呢?答案就是根节点名(localPart)…… 对于前文的例子来说,接受方法的选择,仅仅依靠的是根节点名user,更重要的是对于哪个Endpoint实现类的选择也是没有的。换句话说,不管你按照业务分了多少个endpoint,每个endpoint中分了多少个方法,这些方法就好像扔进了一个水池里,是混在一起的,而你只能通过根节点名选择执行的方法,这样,就不能有两个相同根节点名的方法并存。这样的局面我并不能接受。
所以我开始研究namespace的用法,但是结果依然让我失望,namespace也无法帮助我选择endpoint的方法。以下,我们先修改代码,看看namespace最最简单的用法是什么样的吧。
首先,修改[b]User.java[/b],在类名前加上namespace的注解
@XmlRootElement(name = "user",namespace = "http://mycompany.com/hr/schemas")
然后,在每一个属性的setter前也加入注解
[code]
@XmlElement(namesp