问题标签 [wsdl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C# Web 服务客户端:具有相同(复杂)返回类型的多个 Web 服务方法?
目前,我正在为 Java B2B Web 服务构建客户端,我想我已经确定了我们已经有很长一段时间的问题的原因。不幸的是,我无法发布 WSDL。
显然,我的自动生成的代理代码(通过 wsdl.exe:由于 WCF 不支持密码摘要而必须使用 WSE 3.0)无法处理具有多个具有相同复杂返回类型的 Web 方法的 Web 服务的 WSDL。
举个例子 - 一个定义以下方法的网络服务:
在我的 Reference.cs 文件中,如果我注释掉所有调用 Blah()、Blue() 或 Foo() 中任意两个的代码,那么剩下的未注释的方法可以调用没有问题。但是,如果我有多个未注释掉的这三种方法中的一种(例如 Blah() 和 Foo()),那么在实例化Web 服务客户端代码时会收到以下错误消息:
“方法Blah不能反映。” “命名空间‘ http://some.url ’中的 XML 元素‘ComplexTypeX’引用了一个方法和一个类型。使用 WebMethodAttribute 更改方法的消息名称或使用 XmlRootAttribute 更改类型的根元素。”
现在,绝对没有将ComplexTypeX
方法定义为 Web 服务的一部分,所以我只能假设 .NET(或至少 wsdl.exe)不允许您使用返回复杂(用户定义)的 Web 服务跨多个方法的相同类型的类型......对吗?
.net - 从 Web 服务返回的数据集中提取数据
有没有人提供用于提取从 Web 服务返回的数据的查询语言的来源。
我写了一个网络服务返回一个数据集,
我使用了在资源中找到的这个查询
“这个查询语言名称是什么”
但我得到了数据集的架构(我的表列显示为记录)。
我想了解更多如何获取某个表的架构。
谢谢
asp.net - 具有相对路径的 Asp.net 自托管 WCF 服务 WSDL
我正在开发一个 WCF 应用程序,该应用程序将在此过程中部署到各种服务器,并且我希望不必记住每次进行部署时都更改 app.config。起初,我的 app.config serviceModel 部分如下所示:
当我访问本地机器上运行的服务时,这在开发中运行良好。当我部署它时,WSDL 包含仍然指向 localhost 的绝对路径:
因此,我可以像这样更改 app.config 中的 httpGetUrl:
现在 wsdl 可以在该服务器上正常工作。问题是我必须在每个部署的 app.config 中手动设置地址。
有没有办法:
1. wsdl 是否已经包含所有内容以便没有导入?
或者
2. 在 wsdl 导入语句中使用相对路径?
或任何其他建议将不胜感激。如果不是因为这个 wsdl 问题,我有两个开发服务器可以自动部署。
由于这只是为了生成代理,我想我可以自己生成代理并分发它,但我宁愿让用户自己生成代理。
谢谢!丹尼尔
xml - 从 wsdl 中提取对象模式
我有一个描述一组对象的 wsdl 文件,但我想仅从它们的一个子集中提取定义,这可能吗?如果可以,实现这一目标的最佳方法是什么?我的目标是为该子集生成 XSD 架构。
如果您不使用 .NET 中的 WSDL 生成工具怎么办?有没有使用其他工具完成此任务的好方法?我正在使用 Java,试图与 Web 服务交互。我有一个用于操作 xml 文档的库,它需要一个 xsd。我还有一个用于简单 SOAP 交互的库,这使得使用 Axis 过大了。如果我可以轻松地从 WSDL 中提取 XSD,那就太好了。
c# - 在 WCF 中支持具有属性的 XSD
我们的项目中有一些 XSD 定义了使用属性和元素来指定属性值的类型,例如:
我使用这些 XSD 定义 WSDL 使用的模式,但是当我通过 schemagen 运行它时,生成的代码被解包。例如:
(GetInstrumentRequest 和 GetInstrumentResponse 应该只解包到参数和返回值)。
这样做的原因是数据协定序列化程序不支持具有属性的复杂类型,但我确实在某处读到,如果您使用文档/文字而不是文档/文字包装来定义 WSDL,schemagen 将回退到 XmlSerializer实现,它确实支持属性。到目前为止,我试图让它工作的尝试都失败了:// CODEGEN:生成消息契约,因为操作 GetInstrument 既不是 RPC 也不是文档包装。
那么,这种关于文档/文字的假设是否错误?有没有办法从定义具有属性的复杂类型的 WSDL 生成展开的接口代码?
这是我正在使用的修改后的文档/文字 WSDL:
php - 使用 SOAP 访问 Web 服务 - 在 soapclient() 上失败
使用 soapclient($myUrl); 时收到以下错误;
SOAP 错误:解析 WSDL
这是我直接访问 WSDL 链接时看到的内容。
http://services" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://services" xmlns:intf="http://services" xmlns:soapenc ="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="http://rpc.xml.coldfusion" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> http://xml.apache.org/ xml-soap" xmlns="http://www.w3.org/2001/XMLSchema"> http://services"/> http://rpc.xml.coldfusion"/> http://schemas.xmlsoap. org/soap/encoding/"/>
ruby - 如何使用 Ruby 生成 WSDL?
我开始使用 Ruby 和 Soap 并有一些问题:
如何为我创建的服务生成 WSDL 文件?它会与 .NET 客户端兼容吗?
xml - 由于编码,AXIS2 生成错误的 SOAP 消息。如何解决?
问题:如何在轴上使用不同的编码(字符集和传输) ?
这是我的客户:
这是正在生成的 SOAPEnvelope(使用 TCP/IP 监视器捕获):
为什么 Axis2 生成了这种愚蠢的编码(http://schemas.xmlsoap.org/soap/envelope)???
使用 Apache TCPMon 我捕获了这个请求:
如果我使用 TCPMon 捕获的soapUI 发送 XML 请求:
我注意到这个奇怪的输出:XML 中间的 102 和 0 ......它是什么?
soap - gsoap - SOAP Header 中的 WS-Addressing 元素
我需要在我的 Soap 标头中添加 WS Addressing(我正在使用 gsoap 框架)。有没有办法自动添加?我查阅了 gsoap 文档,但没有找到任何相关信息。所以现在我已经手动将 WS-Addressing 添加到我的 SOAP_ENV_Header 中,如下所示
但我想自动生成它,因为我必须向 Soap Header 添加一些其他结构,这些结构是从我的 wsdl/xsd 文件自动生成的。
谢谢
wcf - 将架构发布为 wcf 服务问题
我正在尝试使用“WCF 服务发布向导”将一些 HL7 模式(有很多)发布为 wcf 服务。该向导似乎运行并完成得很好,创建了一个公开我想要的模式的服务。但是当我尝试浏览新创建的服务时,我得到“服务器应用程序不可用”......我查看了事件查看器并注意到错误消息:“System.OutOfMemoryException”。我在查看“任务管理器”时再次进行了测试,我注意到 aspnet_wp.exe 在终止之前消耗了超过 1 GB 的 RAM(应用程序池可能在达到允许的最大内存消耗后回收)。
我很困惑为什么会这样,所以我决定使用“Web 服务发布向导”发布与 ASMX Web 服务相同的模式,看看它是否会有所不同。运行向导后,我尝试浏览该服务,它运行良好,没有任何问题。我查看了生成的 WSDL 定义,它很大,所有引用的模式都作为内联模式添加,而不是作为包含或导入。
这让我相信这可能是 WSDL 生成的问题,在已发布的模式中有这么多包含,但我完全不确定是否会出现这种情况......
有没有人在尝试将模式发布为 wcf 服务时遇到过类似问题?我欢迎所有可以引导我在这个问题上朝着正确方向发展的建议。
谢谢。
-M.帕帕斯