假设我的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 是一个 endpoints ,即它是否与我的Web服务的URI相同,或者SOAP消息收到和解组的位置是什么?
你能告诉我它是什么,它的目的是什么?
这是一个更短且希望更清晰的答案......是的, endpoints 是客户端应用程序可以访问您的服务的URL . 相同的Web服务可以具有多个 endpoints ,例如,以便使用不同的协议使其可用 .
更新的答案,来自Peter的评论:
这是de“旧术语”,直接使用WSDL2“endepoint”定义(WSDL2将“port”翻译为“ endpoints ”) .
也许您在本文档中找到答案:http://www.w3.org/TR/wsdl.html
WSDL文档将服务定义为网络 endpoints 或端口的集合 . 在WSDL中, endpoints 和消息的抽象定义与其具体的网络部署或数据格式绑定分开 . 这允许重用抽象定义:消息,它们是被交换数据的抽象描述,以及作为抽象操作集合的端口类型 . 特定端口类型的具体协议和数据格式规范构成可重用的绑定 . 通过将网络地址与可重用绑定相关联来定义端口,并且端口集合定义服务 . 因此,WSDL文档在网络服务的定义中使用以下元素:类型 - 使用某种类型系统(例如XSD)的数据类型定义的容器 . 消息 - 正在传递的数据的抽象,类型定义 . 操作 - 服务支持的操作的抽象描述 . 端口类型 - 一个或多个 endpoints 支持的一组抽象操作 . 绑定 - 特定端口类型的具体协议和数据格式规范 . 端口 - 单个 endpoints ,定义为绑定和网络地址的组合 . 服务 - 相关 endpoints 的集合 .
http://www.ehow.com/info_12212371_definition-service-endpoint.html
endpoints 是公开HTML文件或活动服务器页面的连接点 . endpoints 提供寻址Web服务 endpoints 所需的信息 . endpoints 提供了一个引用或规范,用于定义消息寻址属性的组或系列,并提供端到端消息特征,例如 endpoints 的源和目标的引用,以及允许统一的消息标识解决“独立”信息 . endpoints 可以是PC,PDA或销售点终端 .
Web服务 endpoints 是另一个 program 用于与您的程序通信的URL . 要查看WSDL,请将 ?wsdl 添加到Web服务 endpoints URL .
?wsdl
Web服务用于程序到程序的交互,而Web页面用于程序到人的交互 .
所以: endpoints 是: http://www.blah.com/myproject/webservice/webmethod
http://www.blah.com/myproject/webservice/webmethod
因此,WSDL是: http://www.blah.com/myproject/webservice/webmethod?wsdl
http://www.blah.com/myproject/webservice/webmethod?wsdl
为了进一步扩展WSDL的元素,我总是发现将它们与代码进行比较是有帮助的:
WSDL有2个部分(物理和抽象) .
Physical Portion:
定义 - 变量 - 例如:myVar,x,y等
类型 - 数据类型 - 例如:int,double,String,myObjectType
操作 - 方法/功能 - 例如:myMethod(),myFunction()等 .
消息 - 方法/函数输入参数和返回类型
Porttypes - 类(即它们是操作的容器) - ex:MyClass {}等 .
Abstract Portion:
绑定 - 这些连接到端口类型并定义用于与此Web服务通信的所选协议 . - 协议是一种通信形式(所以文本/短信,电话与电子邮件等) .
服务 - 列出其他程序可以找到您的Web服务的地址(即您的 endpoint ) .
在我过去的项目中, endpoints 是一个相对属性 . 也就是说它可能会或可能没有附加,但它总是包含 protocol://host:port/partOfThePath .
protocol://host:port/partOfThePath
如果被调用的服务具有动态部分,例如 ?param=dynamicValue ,那么该部分将被添加到 endpoints . 但很多时候 endpoints 可以按原样使用而无需修改 .
?param=dynamicValue
重要的是要了解 endpoints 不是什么以及它如何帮助 . 例如,传递存储在 endpoints 中的信息的另一种方法是将 endpoints 的不同部分存储在单独的属性中 . 例如:
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;
在 Contract 中,这可以作为 endpoints 存储
serviceAEndpoint=http://host:port/some/service/path?dynamicParam=
并且是的,我们多次将 endpoints 存储到并包括'=' . 这导致代码如下:
String url = serviceAEndpoint + dynamicValue;
希望能有所启发 .
简而言之, endpoints 是通信信道的一端 . 当API与另一个系统交互时,触摸点这种沟通被认为是终点 . 对于API, endpoints 可以包含服务器或服务的URL . 每个 endpoints 都是API可以访问执行其功能所需资源的位置 .
API使用“请求”和“响应”工作 . 当API从Web应用程序或Web服务器请求信息时,它将收到响应 . API发送请求的位置以及资源所在的位置称为 endpoints .
参考:https://smartbear.com/learn/performance-monitoring/api-endpoints/
endpoints 被指定为通常导致响应的相对或绝对URL . 该响应通常是服务器端进程的结果,例如,可以生成JSON字符串 . 然后,该字符串可以由调用 endpoints 的应用程序使用 . 因此,通常 endpoints 是预定义的接入点,在TCP / IP网络中用于启动进程和/或返回响应 . endpoints 可以包含在URL内传递的参数,作为键值对,多个键值对由和号分隔,允许 endpoints 调用,例如,更新/插入过程;所以 endpoints 并不总是需要返回响应,但响应总是有用的,即使它只是表示操作的成功或失败 .
6 回答
这是一个更短且希望更清晰的答案......是的, endpoints 是客户端应用程序可以访问您的服务的URL . 相同的Web服务可以具有多个 endpoints ,例如,以便使用不同的协议使其可用 .
更新的答案,来自Peter的评论:
也许您在本文档中找到答案:http://www.w3.org/TR/wsdl.html
http://www.ehow.com/info_12212371_definition-service-endpoint.html
Web服务 endpoints 是另一个 program 用于与您的程序通信的URL . 要查看WSDL,请将
?wsdl
添加到Web服务 endpoints URL .Web服务用于程序到程序的交互,而Web页面用于程序到人的交互 .
所以: endpoints 是:
http://www.blah.com/myproject/webservice/webmethod
因此,WSDL是:
http://www.blah.com/myproject/webservice/webmethod?wsdl
为了进一步扩展WSDL的元素,我总是发现将它们与代码进行比较是有帮助的:
WSDL有2个部分(物理和抽象) .
Physical Portion:
定义 - 变量 - 例如:myVar,x,y等
类型 - 数据类型 - 例如:int,double,String,myObjectType
操作 - 方法/功能 - 例如:myMethod(),myFunction()等 .
消息 - 方法/函数输入参数和返回类型
Porttypes - 类(即它们是操作的容器) - ex:MyClass {}等 .
Abstract Portion:
绑定 - 这些连接到端口类型并定义用于与此Web服务通信的所选协议 . - 协议是一种通信形式(所以文本/短信,电话与电子邮件等) .
服务 - 列出其他程序可以找到您的Web服务的地址(即您的 endpoint ) .
在我过去的项目中, endpoints 是一个相对属性 . 也就是说它可能会或可能没有附加,但它总是包含
protocol://host:port/partOfThePath
.如果被调用的服务具有动态部分,例如
?param=dynamicValue
,那么该部分将被添加到 endpoints . 但很多时候 endpoints 可以按原样使用而无需修改 .重要的是要了解 endpoints 不是什么以及它如何帮助 . 例如,传递存储在 endpoints 中的信息的另一种方法是将 endpoints 的不同部分存储在单独的属性中 . 例如:
或者,如果多个服务中的主机和端口相同:
在这些情况下,需要在您的代码中构建完整的URL:
在 Contract 中,这可以作为 endpoints 存储
并且是的,我们多次将 endpoints 存储到并包括'=' . 这导致代码如下:
希望能有所启发 .
简而言之, endpoints 是通信信道的一端 . 当API与另一个系统交互时,触摸点这种沟通被认为是终点 . 对于API, endpoints 可以包含服务器或服务的URL . 每个 endpoints 都是API可以访问执行其功能所需资源的位置 .
API使用“请求”和“响应”工作 . 当API从Web应用程序或Web服务器请求信息时,它将收到响应 . API发送请求的位置以及资源所在的位置称为 endpoints .
参考:https://smartbear.com/learn/performance-monitoring/api-endpoints/
endpoints 被指定为通常导致响应的相对或绝对URL . 该响应通常是服务器端进程的结果,例如,可以生成JSON字符串 . 然后,该字符串可以由调用 endpoints 的应用程序使用 . 因此,通常 endpoints 是预定义的接入点,在TCP / IP网络中用于启动进程和/或返回响应 . endpoints 可以包含在URL内传递的参数,作为键值对,多个键值对由和号分隔,允许 endpoints 调用,例如,更新/插入过程;所以 endpoints 并不总是需要返回响应,但响应总是有用的,即使它只是表示操作的成功或失败 .