Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web services 什么是web服务端点?_Web Services_Terminology_Definition_Endpoint - Fatal编程技术网

Web services 什么是web服务端点?

Web services 什么是web服务端点?,web-services,terminology,definition,endpoint,Web Services,Terminology,Definition,Endpoint,假设我的web服务位于http://localhost:8080/foo/mywebservice我的WSDL位于http://localhost:8080/foo/mywebservice?wsdl 是http://localhost:8080/foo/mywebservice端点,即它是否与我的web服务的URI相同,或者SOAP消息在哪里接收和解组 你能给我解释一下它是什么以及它的目的是什么吗?更新的答案,来自Peter在评论: 这是“旧术语”,直接使用(WSDL2将“端口”翻译为“端点”

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

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


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

更新的答案,来自Peter在评论:

这是“旧术语”,直接使用(WSDL2将“端口”翻译为“端点”)


也许您可以在本文档中找到答案:

WSDL文档将服务定义为网络端点或端口的集合。在WSDL中,端点和消息的抽象定义与其具体的网络部署或数据格式绑定分离。这允许重用抽象定义:消息(是交换数据的抽象描述)和端口类型(是操作的抽象集合)。特定端口类型的具体协议和数据格式规范构成了可重用的绑定。端口是通过将网络地址与可重用绑定相关联来定义的,端口集合定义服务。因此,WSDL文档在网络服务的定义中使用以下元素:

host=someIp
port=8080
pathForServiceA=/some/service/path
pathForServiceB=/some/service/path
  • 类型–用于使用某些类型系统(如XSD)的数据类型定义的容器
  • 消息–正在通信的数据的抽象、类型化定义
  • 操作–服务支持的操作的抽象描述
  • 端口类型–一个或多个端点支持的抽象操作集
  • 绑定–特定端口类型的具体协议和数据格式规范
  • 端口–定义为绑定和网络地址组合的单个端点
  • 服务–相关端点的集合


端点是暴露HTML文件或活动服务器页面的连接点。端点提供寻址Web服务端点所需的信息。端点提供一个引用或规范,用于定义一组或一系列消息寻址属性,并提供端到端消息特征,例如端点的源和目标的引用,以及允许对“独立”消息进行统一寻址的消息标识。端点可以是PC、PDA或销售点终端


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

在我以前从事的项目中,端点是一个相对属性。也就是说,它可能被附加到,也可能没有附加到,但它始终包含
protocol://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;

希望这能有所启发。

web服务端点是另一个程序用来与您的程序通信的URL。要查看WSDL,请向web服务端点URL添加
?WSDL

Web服务用于程序到程序的交互,而Web页面用于程序到人员的交互

因此: 端点为:
http://www.blah.com/myproject/webservice/webmethod

所以,, WSDL是:
http://www.blah.com/myproject/webservice/webmethod?wsdl


为了进一步扩展WSDL的元素,我总是发现将它们与代码进行比较很有帮助:

WSDL有两个部分(物理部分和抽象部分)

物理部分:

定义-变量-例如:myVar、x、y等

类型-数据类型-例如:int、double、String、myObjectType

操作-方法/函数-例如:myMethod()、myFunction()等

消息-方法/函数输入参数和返回类型

  • 例如:publicmyObjectTypemyMethod(StringmyVar)
Porttypes-类(即它们是操作的容器)-例如:MyClass{},等等

摘要部分:

绑定-这些连接到端口类型并定义与此web服务通信所选的协议。 -协议是一种通信形式(文本/短信、电话和电子邮件等)


服务-此列表列出了其他程序可以在其中找到您的web服务的地址(即您的端点)。

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

API使用“请求”和“响应”工作。当API从web应用程序或web服务器请求信息时,它将收到响应。API发送请求的位置以及reso