问题标签 [wse3.0]

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 投票
2 回答
6081 浏览

xml-serialization - 尝试调用 Web 服务调用时出现“无法识别指定类型”异常

我正在尝试使用 WSE 3.0 作为 Visual Studio 2005 中的客户端调用第三方 Web 服务。

调用工作正常,我可以看到我得到了很好的响应(我启用了跟踪),但显然 xml 解析器阻塞了它。我总是得到一个InvalidOperationException

XML 文档中存在错误。

有一个InnerException

无法识别指定的类型:name='Map',namespace=' http ://xml.apache.org/xml-soap',位于 <bevoegdheid xmlns=''>。

这是响应的相关部分:

这就是在 wsdl 中定义“bevoegdheid”的方式:

wsdl 中的任何地方都没有提到“地图”类型。

我一直在谷歌搜索,但我发现的唯一答案是类似的

该服务使用较难实现互操作性的 rpc/编码格式。如果您可以将服务器更改为文档/文字,那就更好了。

但由于这是第三方服务(已被其他客户使用),这对我们来说是没有选择的。

还有其他建议吗?如何让 xml 解析器识别“地图”类型?

0 投票
2 回答
948 浏览

wcf - 如何调用要部署到 Windows Server 2008 的 WSE3.0 服务?

我们的一个 C# ASP.Net 项目对 Microsoft WSE 3.0 库有一些依赖关系,以便使用 WSE3.0 Web 服务。但是,我们正在将该项目迁移到不支持 WSE3.0 的 Windows Server 2008。

所以我需要重构代码以删除对 WSE 3.0 的依赖,但仍保持其功能。该代码只是将用户名安全令牌添加到 SOAP 上下文,然后调用 Web 服务。我不知道从哪里开始。我怀疑我切换到 WCF,如果是这样,是否有任何在线教程可以提供帮助?

0 投票
1 回答
2372 浏览

wcf - WCF 客户端到 WSE 3.0 服务

我尝试为 WSE 3.0 服务创建 WCF 客户端。我已经将 WSE3.0 客户端用于相同的服务。这是它的配置:

并且以这种方式创建的服务客户端的策略:

现在我尝试使用它来创建 WCF 客户端。我使用了这些建议 ( http://msdn.microsoft.com/en-us/library/ms730299.aspx )。我从服务和客户端合同生成类型,然后创建从 Binding 派生的 WseHttpBinding 类,之后我尝试创建此自定义绑定并初始化客户端和服务证书:

但是出现了异常:

System.Xml.XmlException:无法使用BinarySecretSecurityToken的“ http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd ”命名空间从“SignatureConfirmation”元素读取令牌,其中一个''值类型。如果预期此元素有效,请确保将安全性配置为使用具有指定名称、命名空间和值类型的令牌。

为什么它不起作用?为什么方案是 1.1?我应该在 MessageSecurityVersion 中使用 WS Secure 1.1 作为安全绑定元素吗?和哪一个?我试过这个:

哪一个使用 WS Security 1.1 - MessageSecurityVersion.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11(在 WseHttpBinding 中配置时)但它也失败了:

System.ServiceModel.Security.MessageSecurityException:安全标头中不需要签名确认。

我不知道我现在还能做什么!看来我什么都试过了!

0 投票
0 回答
1009 浏览

.net - 防止 WSE 引用的 System.Web.Services 的 .NET 程序集版本重定向

我有一个针对.NET 4.0框架的 ASP.NET 网站应用程序,该应用程序使用 WSE 3.0 (Microsoft.Web.Services3.dll) 公开一些 Web 服务以确保安全。当我使用该服务时,我收到SoapHeaderException: SOAP header Security was not理解错误。当应用程序以 .NET 2.0 为目标时,我有一个非常相似的设置工作正常,并且我比较了配置文件而没有发现任何差异。

使用Reflector我可以看到Microsoft.Web.Services3.dll引用System.Web.Services, Version=2.0.0.0但是当我使用Fuslogvw.exe(程序集绑定日志查看器)检查程序集绑定时,我看到在框架中找到了版本重定向配置: 2.0.0.0 重定向到 4.0.0.0。我检查了各种机器级别的配置文件,并且没有明确引用重定向,所以我相当确定重定向是由于链接到程序集的 Microsoft Publisher Policy造成的。我尝试使用publisherPolicy 元素使用下面显示的配置来防止这种重定向,但它似乎没有任何影响。我还尝试将 publisherPolicy 元素移到dependentAssembly 元素之外,使其普遍适用,但这也无济于事。

任何想法我做错了什么或强制程序集绑定到程序集的特定版本的替代方法?

0 投票
1 回答
1751 浏览

.net - 在 ASMX Web 服务中使用泛型集合作为参数

我有一个 ASMX Web 服务,它有一个方法 -

我已经实现了这项服务,在 IIS 中编译和托管。我曾经wsewsdl3.exe生成代理。在生成的代理中,方法定义更改为 -

不能将 List 作为 ASMX Web 服务的参数吗?我应该怎么做才能修复代理?

0 投票
1 回答
626 浏览

.net - WSE 3.0 + C# - Visual Studio 2005

我正在使用 .NET 客户端连接到 AXIS Web 服务,作为其中的一部分,我正在尝试实现所有必需的安全标头。我的开发环境是VS2005,我使用的是C#。

我首先下载了soapUI并生成了所有必需的安全标头并开始发送消息,这很有效。所以我知道我需要做什么(签署消息,将其放入wsse:Security标题中,加密正文并将其发送出去)

所以认为这很简单,我已经从 Microsoft 下载了 WSE3.0 并将其包含在我的项目中。现在它正在生成一些东西,但不是我想要的安全标头。具体来说,我需要删除 Web 服务寻址标头(wsa:From、wsa:ReplyTo、wsa:Action)和时间戳(wsu:Timestamp),但我无法在 wse3policycache.config 文件中找到任何特定的配置设置删除它们。

0 投票
0 回答
420 浏览

c# - WSE 3.0 Web 服务中的 SoapException

我有这段代码,我得到了 - SoapException 未处理:没有这样的操作“字符串”。有什么问题?如何处理这种异常?如果我把它放在 try/catch 块中,它对我没有多大帮助。

代码:

0 投票
2 回答
1336 浏览

c# - 通过 ASP.Net 网络服务传输文件超慢

我们这里有一个旧的 WSE3 ASP.Net web 服务,它定义了一个方法GetFileContent(string fileName)。它所做的是检查具有传递名称的文件的预定义路径,读取其内容,对其进行base64编码并将编码的内容作为响应发送回。

不幸的是,整个过程需要(不同)年龄。我编写了一个控制台客户端应用程序,可以按需对性能进行基准测试:有时 2.5Megs 在 12 秒内传输,有时需要 40 秒。另一个 27Meg 文件昨天在 16 秒内运行,今天花了 > 1 分钟。

我检查过的其他事项:

  • CPU和Swap性能不值一提(监控上,机器看起来很无聊)

  • 网速足够。

  • 客户端发送请求后立即执行方法调用。

  • 一个大文件的读取和编码平均需要500ms,所以return语句也是在请求之后立即执行的。

  • 另一个客户端(基于 Java 的)甚至更慢,所以我想这可能是客户端问题。

有人知道下一步该去哪里寻找这个讨厌的人吗?感觉像IIS麻烦,真的...

非常感谢提前...

0 投票
1 回答
5533 浏览

c# - WSE 3.0 和 SoapExtensions

我正在尝试使用 .NET 客户端使用 Axis Web 服务,但在设置 WSE 配置以使用它时遇到了一些问题。我知道 WSE 3.0 是一种过时的技术,但我坚持使用 VS2005 和 .NET 2.0 环境,所以我必须使用它。

目前,我创建了一个新的 ASP.NET 网站应用程序并在其上启用了 WSE。它从中生成了一堆服务器无法处理的部分,例如 WS:Addressing 和 WS:Timestamp 部分,我正在寻找删除它们。我找不到执行此操作的配置设置,因此在对 SO 进行了一些搜索之后,我开始使用 SoapExtensions 来拦截消息并手动删除这些部分。

我目前的问题似乎是 SoapExtensions 中的代码根本没有被执行。这是我的 web.config -

还有我的网络服务方法——

这是我的 SoapExtension 类 -

我猜我在尝试将 SoapExtension 分配给该方法调用时做错了,因此非常感谢任何帮助!

0 投票
2 回答
2146 浏览

c# - AXIS Web svc.,.NET 客户端 - WS 安全问题

我正在使用 .NET 2.0 客户端与 AXIS Web 服务进行通信。Web 服务不在我的控制范围内,我也无法请求对其进行任何修改。

现在,我正在使用 WSE 3.0 来实现安全部分,但我有很多问题要让他们互相交谈。我目前的问题似乎是这个例外 -

我已经在客户端实现了一个自定义 WSE 策略(创建了一个自定义SecurityPolicyAssertion,覆盖CreateClientOutputFilter(FilterCreationContext context)并从中调用了一个自定义SendSecurityFilter。在 中SendSecurityFilter,我覆盖了该SecureMessage方法并添加了以下内容 -

这会生成以下 XML 输出 -

并且 AXIS 返回错误消息,内容为 -

该错误消息特别无用,我什至不确定它的含义,因此非常感谢您对此的任何帮助!

谢谢,
泰加。