假设我的web服务位于http://localhost:8080/foo/mywebservice, WSDL位于http://localhost:8080/foo/mywebservice?wsdl。

http://localhost:8080/foo/mywebservice是否是端点,即,它是否与我的web服务的URI相同,或者SOAP消息在接收和解组的地方相同?

你能给我解释一下它是什么,它的目的是什么吗?


当前回答

在我过去参与的项目中,端点是一个相对属性。也就是说,它可能被附加到,也可能没有,但它总是包含协议://host:port/partOfThePath。

如果被调用的服务有一个动态部分,例如?param=dynamicValue,那么该部分将被添加到端点。但是很多时候端点可以直接使用而不需要修改。

重要的是要理解端点不是什么以及它如何帮助。例如,传递存储在端点中的信息的另一种方法是将端点的不同部分存储在单独的属性中。例如:

hostForServiceA=someIp
portForServiceA=8080
pathForServiceA=/some/service/path
hostForServiceB=someIp
portForServiceB=8080
pathForServiceB=/some/service/path

或者相同的主机和端口跨多个服务:

host=someIp
port=8080
pathForServiceA=/some/service/path
pathForServiceB=/some/service/path

在这些情况下,完整的URL将需要在您的代码中构造如下:

String url = "http://" + host + ":" + port + pathForServiceA  + "?" + dynamicParam + "=" + dynamicValue;

在合约中,这可以作为端点存储

serviceAEndpoint=http://host:port/some/service/path?dynamicParam=

是的,很多时候我们存储了端点直到并包括'='。这导致如下代码:

String url = serviceAEndpoint + dynamicValue;

希望这能给我们一些启发。

其他回答

An Endpoint is specified as a relative or absolute url that usually results in a response. That response is usually the result of a server-side process that, could, for instance, produce a JSON string. That string can then be consumed by the application that made the call to the endpoint. So, in general endpoints are predefined access points, used within TCP/IP networks to initiate a process and/or return a response. Endpoints could contain parameters passed within the URL, as key value pairs, multiple key value pairs are separated by an ampersand, allowing the endpoint to call, for example, an update/insert process; so endpoints don’t always need to return a response, but a response is always useful, even if it is just to indicate the success or failure of an operation.

在我过去参与的项目中,端点是一个相对属性。也就是说,它可能被附加到,也可能没有,但它总是包含协议://host:port/partOfThePath。

如果被调用的服务有一个动态部分,例如?param=dynamicValue,那么该部分将被添加到端点。但是很多时候端点可以直接使用而不需要修改。

重要的是要理解端点不是什么以及它如何帮助。例如,传递存储在端点中的信息的另一种方法是将端点的不同部分存储在单独的属性中。例如:

hostForServiceA=someIp
portForServiceA=8080
pathForServiceA=/some/service/path
hostForServiceB=someIp
portForServiceB=8080
pathForServiceB=/some/service/path

或者相同的主机和端口跨多个服务:

host=someIp
port=8080
pathForServiceA=/some/service/path
pathForServiceB=/some/service/path

在这些情况下,完整的URL将需要在您的代码中构造如下:

String url = "http://" + host + ":" + port + pathForServiceA  + "?" + dynamicParam + "=" + dynamicValue;

在合约中,这可以作为端点存储

serviceAEndpoint=http://host:port/some/service/path?dynamicParam=

是的,很多时候我们存储了端点直到并包括'='。这导致如下代码:

String url = serviceAEndpoint + dynamicValue;

希望这能给我们一些启发。

简单地说,端点是通信通道的一端。当一个API与另一个系统交互时,这种通信的接触点被认为是端点。对于api,端点可以包括服务器或服务的URL。每个端点都是api可以访问执行其功能所需资源的位置。

api使用“请求”和“响应”工作。“当API从web应用程序或web服务器请求信息时,它会收到响应。api发送请求的位置和资源所在的位置称为端点。

参考: https://smartbear.com/learn/performance-monitoring/api-endpoints/

端点是web服务的URL。端点也是一个分布式API。

简单对象访问协议端点是一个URL。它标识了内置HTTP服务上web服务侦听器侦听传入请求的位置。

参考:https://www.ibm.com/support/knowledgecenter/SSSHYH_7.1.0.4/com.ibm.netcoolimpact.doc/dsa/imdsa_web_netcool_impact_soap_endpoint_c.html

这是一个更简短、更清晰的答案…… 是的,端点是客户端应用程序可以访问您的服务的URL。相同的web服务可以有多个端点,例如,为了使用不同的协议使其可用。