假设我的web服务位于http://localhost:8080/foo/mywebservice,而我的WSDL位于http://localhost:8080/foo/mywebservice?wsdl。
http://localhost:8080/foo/mywebservice
http://localhost:8080/foo/mywebservice?wsdl
http://localhost:8080/foo/mywebservice是否是一个端点,即,它是否与我的web服务的URI相同,或者SOAP消息在接收和解组的地方相同?
你能给我解释一下它是什么,它的目的是什么吗?
更新的答案,来自Peter的评论:
这是“旧术语”,直接使用WSDL2 " endpoint " . definition (WSDL2将“端口”转换为“端点”)
这是“旧术语”,直接使用WSDL2 " endpoint "
也许你会在这个文档中找到答案:http://www.w3.org/TR/wsdl.html
WSDL文档将服务定义为网络端点或端口的集合。在WSDL中,端点和消息的抽象定义与它们的具体网络部署或数据格式绑定是分离的。这允许重用抽象定义:消息(交换数据的抽象描述)和端口类型(操作的抽象集合)。特定端口类型的具体协议和数据格式规范构成了可重用绑定。端口是通过将网络地址与可重用绑定相关联来定义的,而端口的集合定义了一个服务。因此,WSDL文档在网络服务的定义中使用以下元素: 类型——使用某些类型系统(如XSD)的数据类型定义的容器。 消息——被通信数据的抽象、类型化定义。 操作——服务支持的操作的抽象描述。 端口类型——由一个或多个端点支持的操作的抽象集。 绑定——特定端口类型的具体协议和数据格式规范。 端口——定义为绑定和网络地址的组合的单个端点。 服务——相关端点的集合。
WSDL文档将服务定义为网络端点或端口的集合。在WSDL中,端点和消息的抽象定义与它们的具体网络部署或数据格式绑定是分离的。这允许重用抽象定义:消息(交换数据的抽象描述)和端口类型(操作的抽象集合)。特定端口类型的具体协议和数据格式规范构成了可重用绑定。端口是通过将网络地址与可重用绑定相关联来定义的,而端口的集合定义了一个服务。因此,WSDL文档在网络服务的定义中使用以下元素:
http://www.ehow.com/info_12212371_definition-service-endpoint.html < a href = " http://www.ehow.com/info_12212371_definition-service-endpoint.html " > < / >
端点是暴露HTML文件或活动服务器页面的连接点。端点提供寻址Web服务端点所需的信息。端点提供了一个引用或规范,用于定义一组或一系列消息寻址属性,并给出端到端消息特征,例如端点的源和目的地引用,以及消息的标识,以允许对“独立”消息进行统一寻址。端点可以是PC、PDA或销售点终端。
在我过去参与的项目中,端点是一个相对属性。也就是说,它可能被附加,也可能没有被附加,但它总是包含protocol://host:port/partOfThePath。
protocol://host:port/partOfThePath
如果被调用的服务有一个动态部分,例如?param=dynamicValue,那么该部分将被添加到端点。但是很多时候端点可以直接使用而不需要修改。
?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;
希望这能给我们一些启发。
web服务端点是另一个程序用来与你的程序通信的URL。要查看WSDL,需要向web服务端点URL添加?wsdl。
?wsdl
Web服务用于程序到程序交互,而网页用于program-to-human交互。
http://www.blah.com/myproject/webservice/webmethod
http://www.blah.com/myproject/webservice/webmethod?wsdl
为了进一步扩展WSDL的元素,我总是发现将它们与代码进行比较是有帮助的:
WSDL有两个部分(物理的和;抽象的)。
物理部分:
定义-变量-例如:myVar, x, y等。
类型-数据类型- ex: int, double, String, myObjectType
操作-方法/函数-例如:myMethod(), myFunction()等。
消息-方法/函数输入参数&返回类型
端口类型-类(即它们是操作的容器)-例如:MyClass{},等等。
摘要部分:
绑定-这些连接到端口类型,并定义与此web服务通信所选择的协议。 协议是一种通信形式(文本/短信、电话和电子邮件等)
Service——它列出了另一个程序可以找到你的web服务(即你的端点)的地址。
简单地说,端点是通信通道的一端。当一个API与另一个系统交互时,这种通信的接触点被认为是端点。对于api,端点可以包括服务器或服务的URL。每个端点都是api可以访问执行其功能所需资源的位置。
api使用“请求”和“响应”工作。“当API从web应用程序或web服务器请求信息时,它会收到响应。api发送请求的位置和资源所在的位置称为端点。
Endpoint被指定为一个相对或绝对url,通常会导致响应。该响应通常是服务器端进程的结果,例如,该进程可以生成一个JSON字符串。然后,对端点进行调用的应用程序可以使用该字符串。因此,通常端点是预定义的访问点,在TCP/IP网络中用于启动进程和/或返回响应。端点可以包含在URL内传递的参数,作为键值对,多个键值对由&号分隔,允许端点调用,例如,更新/插入过程;因此端点并不总是需要返回响应,但是响应总是有用的,即使它只是指示操作的成功或失败。
端点是web服务的URL。Endpoints也是分布式API。
简单对象访问协议(SOAP) endpoint is a URL。它标识内置HTTP服务上web服务侦听器侦听传入的请求. xml所在的位置。
参考:https://www.ibm.com/support/knowledgecenter/SSSHYH_7.1.0.4/com.ibm.netcoolimpact.doc/dsa/imdsa_web_netcool_impact_soap_endpoint_c.html