问题标签 [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.

0 投票
6 回答
14875 浏览

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 服务跨多个方法的相同类型的类型......对吗?

0 投票
2 回答
1541 浏览

.net - 从 Web 服务返回的数据集中提取数据

有没有人提供用于提取从 Web 服务返回的数据的查询语言的来源。

我写了一个网络服务返回一个数据集,

我使用了在资源中找到的这个查询

“这个查询语言名称是什么”

但我得到了数据集的架构(我的表列显示为记录)。

我想了解更多如何获取某个表的架构。

谢谢

0 投票
3 回答
5764 浏览

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 问题,我有两个开发服务器可以自动部署。

由于这只是为了生成代理,我想我可以自己生成代理并分发它,但我宁愿让用户自己生成代理。

谢谢!丹尼尔

0 投票
2 回答
3059 浏览

xml - 从 wsdl 中提取对象模式

我有一个描述一组对象的 wsdl 文件,但我想仅从它们的一个子集中提取定义,这可能吗?如果可以,实现这一目标的最佳方法是什么?我的目标是为该子集生成 XSD 架构。

如果您不使用 .NET 中的 WSDL 生成工具怎么办?有没有使用其他工具完成此任务的好方法?我正在使用 Java,试图与 Web 服务交互。我有一个用于操作 xml 文档的库,它需要一个 xsd。我还有一个用于简单 SOAP 交互的库,这使得使用 Axis 过大了。如果我可以轻松地从 WSDL 中提取 XSD,那就太好了。

0 投票
1 回答
4526 浏览

c# - 在 WCF 中支持具有属性的 XSD

我们的项目中有一些 XSD 定义了使用属性和元素来指定属性值的类型,例如:

我使用这些 XSD 定义 WSDL 使用的模式,但是当我通过 schemagen 运行它时,生成的代码被解包。例如:

(GetInstrumentRequest 和 GetInstrumentResponse 应该只解包到参数和返回值)。

这样做的原因是数据协定序列化程序不支持具有属性的复杂类型,但我确实在某处读到,如果您使用文档/文字而不是文档/文字包装来定义 WSDL,schemagen 将回退到 XmlSerializer实现,它确实支持属性。到目前为止,我试图让它工作的尝试都失败了:// CODEGEN:生成消息契约,因为操作 GetInstrument 既不是 RPC 也不是文档包装。

那么,这种关于文档/文字的假设是否错误?有没有办法从定义具有属性的复杂类型的 WSDL 生成展开的接口代码?

这是我正在使用的修改后的文档/文字 WSDL:

0 投票
1 回答
2537 浏览

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/"/>

0 投票
1 回答
4637 浏览

ruby - 如何使用 Ruby 生成 WSDL?

我开始使用 Ruby 和 Soap 并有一些问题:

如何为我创建的服务生成 WSDL 文件?它会与 .NET 客户端兼容吗?


0 投票
2 回答
9344 浏览

xml - 由于编码,AXIS2 生成错误的 SOAP 消息。如何解决?

问题:如何在轴上使用不同的编码(字符集和传输) ?

这是我的客户:

这是正在生成的 SOAPEnvelope(使用 TCP/IP 监视器捕获):

为什么 Axis2 生成了这种愚蠢的编码(http://schemas.xmlsoap.org/soap/envelope)???

使用 Apache TCPMon 我捕获了这个请求:

如果我使用 TCPMon 捕获的soapUI 发送 XML 请求:

我注意到这个奇怪的输出:XML 中间的 102 和 0 ......它是什么?

0 投票
2 回答
2529 浏览

soap - gsoap - SOAP Header 中的 WS-Addressing 元素

我需要在我的 Soap 标头中添加 WS Addressing(我正在使用 gsoap 框架)。有没有办法自动添加?我查阅了 gsoap 文档,但没有找到任何相关信息。所以现在我已经手动将 WS-Addressing 添加到我的 SOAP_ENV_Header 中,如下所示

但我想自动生成它,因为我必须向 Soap Header 添加一些其他结构,这些结构是从我的 wsdl/xsd 文件自动生成的。

谢谢

0 投票
1 回答
991 浏览

wcf - 将架构发布为 wcf 服务问题

我正在尝试使用“WCF 服务发布向导”将一些 HL7 模式(有很多)发布为 wcf 服务。该向导似乎运行并完成得很好,创建了一个公开我想要的模式的服务。但是当我尝试浏览新创建的服务时,我得到“服务器应用程序不可用”......我查看了事件查看器并注意到错误消息:“System.OutOfMemoryException”。我在查看“任务管理器”时再次进行了测试,我注意到 aspnet_wp.exe 在终止之前消耗了超过 1 GB 的 RAM(应用程序池可能在达到允许的最大内存消耗后回收)。

我很困惑为什么会这样,所以我决定使用“Web 服务发布向导”发布与 ASMX Web 服务相同的模式,看看它是否会有所不同。运行向导后,我尝试浏览该服务,它运行良好,没有任何问题。我查看了生成的 WSDL 定义,它很大,所有引用的模式都作为内联模式添加,而不是作为包含或导入。

这让我相信这可能是 WSDL 生成的问题,在已发布的模式中有这么多包含,但我完全不确定是否会出现这种情况......

有没有人在尝试将模式发布为 wcf 服务时遇到过类似问题?我欢迎所有可以引导我在这个问题上朝着正确方向发展的建议。

谢谢。

-M.帕帕斯