我wsimport
以自上而下的方式使用 Oracle Java 7 附带的“标准”(首先是 WSDL)。
所以,我有以下 WSDL 片段:
<operation name="sayHello">
<input ns1:Action="http://zar.bar.foo/IHello/sayHelloRequest" message="tns:sayHello" xmlns:ns1="http://www.w3.org/2007/05/addressing/metadata"/>
<output ns2:Action="http://zar.bar.foo/IHello/sayHelloResponse" message="tns:sayHelloResponse" xmlns:ns2="http://www.w3.org/2007/05/addressing/metadata"/>
</operation>
删除 Action 属性后:
<operation name="sayHello">
<input message="tns:sayHello" />
<output message="tns:sayHelloResponse" />
</operation>
...并重新运行wsimport
(自上而下)以生成存根代码,一切似乎在客户端-服务器通信中继续正常工作,就像以前一样(加上 WSDL 更干净)。那么,这些Action
属性的目的是什么?它们携带的语义内容是什么?