我是一个学习web服务的新手。我正在尝试理解WSDL,然后开发一个Java项目。在WSDL内部,服务部分如下所示:
<wsdl:service name="MyService">
<wsdl:port binding="tns:MyServicePortSoap11" name="MyServicePortSoap11">
<soap:address location="https://localhost.myservice.local:400/wsg/ws"/>
</wsdl:port>
</wsdl:service>但是在web服务演示中使用的端点只是https://MyService:400/ws。为什么地址中缺少/wsg/?任何解释这一点的文档或视频都会很有帮助。
发布于 2021-06-18 19:52:11
WSDL中的<soap:address>只是对您的工具的一个提示。当您从WSDL生成客户端代码时,该工具可以在生成的代码中使用此地址来预先填充web服务的地址,以便您可以使用生成的客户端代码进行调用。
但这只是一个提示。
Your WSDL and SOAP service are not the same thing。一旦您从WSDL生成了客户端代码,您就可以使用该代码来调用web服务,无论它部署在哪里、在任何类型的地址上,而不仅仅是WSDL中提到的那个地址。
理想情况下,WSDL中的<soap:address>和web服务的实际地址应该相同,这样就不会造成混淆,但它们也可以不同。web服务的实际地址很重要,而不是来自WSDL的地址。
https://stackoverflow.com/questions/68030015
复制相似问题