我使用自上而下的方式(WSDL优先)附带Oracle Java 7的“标准”wsimport
。
所以,我有以下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
属性的目的是什么?他们携带的语义内容是什么?