【发布时间】:2015-04-11 08:29:03
【问题描述】:
如果我在WSDL 文档中理解正确,我们可以简单地说:
-
portype section:可以比作 OO 中的接口
语言,并描述服务提供的操作。 -
binding section:指定操作可以通过哪些协议访问
(例如 SMTP、HTTP 等)。 -
services section:表示每个已定义绑定的端点。
如果我说错了,请纠正我。
如果正确,当我们使用 AXIS ADB 和 Eclipse EE 集成的 AXIS 工具创建客户端时,为什么在实例化存根时还需要提供 URL 作为服务的端点?
MultiplierImplStub stub=newMultiplierImplStub("http://localhost:8080/ProductServer/services/MultiplierImpl");
解析服务的 WSDL 自动构建的存根不应该已经知道端点是什么吗?
编辑:
以及为什么客户端中指定的端点与WSDL中定义的任何端点都不匹配?
<wsdl:service name="MultiplierImpl">
<wsdl:port name="MultiplierImplHttpSoap11Endpoint" binding="ns:MultiplierImplSoap11Binding">
<soap:address location="http://localhost:8080/AxisTestProjectServer/services/MultiplierImpl.MultiplierImplHttpSoap11Endpoint/"/>
</wsdl:port>
<wsdl:port name="MultiplierImplHttpSoap12Endpoint" binding="ns:MultiplierImplSoap12Binding">
<soap12:address location="http://localhost:8080/AxisTestProjectServer/services/MultiplierImpl.MultiplierImplHttpSoap12Endpoint/"/>
</wsdl:port>
<wsdl:port name="MultiplierImplHttpEndpoint" binding="ns:MultiplierImplHttpBinding">
<http:address location="http://localhost:8080/AxisTestProjectServer/services/MultiplierImpl.MultiplierImplHttpEndpoint/"/>
</wsdl:port>
</wsdl:service>
【问题讨论】:
标签: java web-services soap wsdl axis