首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否必须使用WSDL来访问wsdl定义?wsdl?

是否必须使用WSDL来访问wsdl定义?wsdl?
EN

Stack Overflow用户
提问于 2013-10-11 06:12:28
回答 2查看 3.1K关注 0票数 1

是否有任何标准要求web服务通过将?wsdl附加到端点地址来提供WSDL?

如果WSDL托管在不同的URL (没有附加?wsdl),可以吗?

例如:

代码语言:javascript
复制
Endpoint: http://abc.xyz.com/MyService
WSDL:     http://abc.xyz.com/MyServiceDefinition.pqr

请注意,对于WSDL定义,我甚至使用了不同的扩展。

使用这种方法是否违反了任何标准,或者一个人可以以他们想要的方式托管东西?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-11 06:25:27

不,拥有wsdl访问并不是强制性的,而是推荐的方式。值得注意的是,大多数客户端将尝试将"? WSDL“添加到您的URL中,并尝试访问WSDL文件,因此强烈建议设置它。

票数 1
EN

Stack Overflow用户

发布于 2013-10-18 20:22:56

是否必须使用?wsdl访问WSDL定义?

,不,不是,

WSDL用于描述web服务契约,因为它允许工具自动生成用于调用指定web服务的客户端存根代码。在与附加?wsdl的web服务相同的位置公开WSDL非常方便,而是每个人都使用的惯例。

人员和工具在该位置查找WSDL,框架在该位置自动公开WSDL,但这只是一种约定。据我所知,这在任何规范中都没有具体说明(或者至少没有我能找到的)。

有时候,尽管您不想提供每个人都可以查看并尝试创建客户机的WSDL,因为它是一个私有的web服务,而且您只想给您的合作伙伴提供访问权,而不是给每个人。此时,您可以不允许?wsdl URL,而只能通过使用替代通道向合作伙伴提供WSDL。如果你不想让它暴露在网上,你甚至可以发电子邮件。

所以你可以选择任何渠道来曝光它。请记住,是因为人们和工具遵循这个约定,他们习惯于在那里看到,例如,一些(写得不好的)工具可能会在不同的扩展中窒息。

P.S.我想提到的另一件事是 option in WCF 4.5,它与这个答案没有严格的关系,但在某种程度上加强了惯例。

与大多数其他工具一样,WCF在?wsdl地址公开WSDL,但是使用xsd:import语句和外部模式。有些框架无法处理带有导入依赖项的WSDL,因此人们开始在WCF上编写自定义以使平面WSDL公开,因此在最新版本的WCF中,Microsoft决定立即添加此功能。

但是为了向后兼容性,他们需要保持?wsdl端点的原样(返回包含xsd:import语句的WSDL文档),并被迫为平面WSDL:?singleWsdl添加一个新的查询参数。我相信这个想法也会被其他的web服务供应商和提供商采纳。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19311393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档