问题标签 [wse]

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 投票
1 回答
1861 浏览

wcf - 使用 MessageContract 属性时出现问题:Exception -> End element 'Body' from namespace 'http://schemas.xmlsoap.org/soap/envelope/' 预期

我正在将我的 WSE3 Web 服务移动到 WCF。但客户端是 WSE3 客户端。

所有的操作契约都返回一个类的实例MessageContract。这适用于 2 个操作,但对于同一服务合同的一个操作以某种方式失败。错误是:

The signature or decryption was invalid.

当我查看 WCF 跟踪文件时,我发现以下内容:

我的观察是,当我使用XmlRoot属性来装饰响应类(而不是使用MessageContract属性)时,我没有得到这个异常。但是,响应对象不能反序列化。即我可以在输入跟踪中看到 XML 响应,但由于预期的 XML 结构不匹配,服务调用null在客户端返回。

该类MessageContract只有一个公共属性 ( MessageBodyMember),它返回另一个用该XmlRoot属性修饰的类的实例。这个类(用 装饰xmlRoot)有一个属性,它给出了Collection某个实体类的对象,该实体类中具有XmlElement属性。

我需要检查/验证哪些内容?如果需要,我可以提供课程代码片段。

0 投票
0 回答
265 浏览

asp.net - 在 asp.net 中通过 SOAP 身份验证调用 Web 服务而不使用 Web 引用

我需要在运行时将 Web 服务引用与 ASP.NET 中的 SOAP 或 WSE 身份验证绑定。我可以在没有身份验证的情况下处理此问题,但无法通过 SOAP 或 WSE 身份验证来处理此问题。任何人都可以帮助我请...

0 投票
1 回答
249 浏览

.net - 部分使用 WSE2

我正在编写一个 .Net Web 服务,它将取代旧的。为了不破坏现有客户端,我不能更改界面。这意味着没有 WSE 可以访问此 Web 服务。

“旧”网络服务直接访问数据库。

“新”不直接访问数据库,它使用另一个网络服务来做到这一点。该其他 Web 服务已被其他一些应用程序使用。

因此,基本上,我在另一个(私有)Web 服务之前编写了一个(公共)Web 服务。

让我们将新的公共 Web 服务称为“Front”,将现有的私有 Web 服务称为“Back”。

问题是“Back”需要 WSE2 身份验证,而“Front”需要在没有 WSE2 的情况下可访问。

如何在 web.config 中配置它?我有这样的 microsoft.web.services2 部分和 soapExtensionTypes 部分:

我需要那些符合“Back”,但是调用“Front”的客户也需要符合 WSE2,女巫我不想要。

有什么帮助吗?

0 投票
1 回答
5054 浏览

c# - 使用 UserNameOverTransport 绑定时,如何让 WCF 以摘要模式发送密码?(将 WSE3.0 代码转换为 WCF)

我正在尝试将此 WSE3.0 代码转换为 WCF:

Microsoft.Web.Services3.Security.Tokens.PasswordOption.SendHashed除了以摘要模式发送密码(在上面的代码中)之外,我已经非常接近了:

上面仍然以纯文本(未散列)发送密码。我发现这个链接指向试图转换类似代码的人,有人说如果不编写自定义令牌序列化程序就无法设置 WCF 来执行此操作。

这个说法准确吗?

如果是,我需要做什么来创建和使用这个自定义序列化程序?

看起来这个链接可能是一个很好的起点,当与评论中链接的站点中的 PDF 结合时,给出以下公式Password_Digest = Base64 ( SHA-1 ( nonce + created + password ) ),但如果有人对我需要从中获得什么以及如何让 WCF 使用有更好的解释我很想听听我的新序列化程序。

0 投票
2 回答
1590 浏览

c# - 来自开发解决方案的 Web 服务调用缓慢

好的,我得到了一个使用 WSE2 的 asp.net Web 服务。它在 xp 机器上运行。我在我的 win7 机器上安装了前端 asp.net 应用程序。

两者都在框架 3.5 中。

在生产环境中一切都很好。

问题是,当我运行前端的“开发”版本时,Web 服务调用需要很长时间。永远,我的意思是永恒。在这里,我们以分钟计算永恒。

通过“开发”版本,我的意思是我运行绑定到视觉工作室(2008)解决方案的实例。我使用本地 IIS Web 服务器。

我的第一个想法是我的两台机器之间的网络/防火墙问题。但是,如果,从视觉工作室,我将网站“发布”到另一个虚拟文件夹,那么一切都很好。

所以我有http://localhost/MyDevApphttp://localhost/MyPublishedApp

两者都使用默认应用程序池。两者都有相同的 web.config。据我所知,两个虚拟目录都具有完全相同的参数。

但是http://localhost/MyDevApp在调用web服务的时候就很厉害了,http://localhost/MyPublishedApp的运行速度简直就是光速。

从现在3天开始就是这样。

做一些调试我可以说:

有谁知道问题可能是什么?

编辑

我还尝试将虚拟目录从我的网站属性更改为不同的内容(例如http://localhost/MydDevApp2),结果相同。

编辑 2

也许它可能是原因,绑定到解决方案的站点驻留在c:\Projets\MySolution\MyDevApp“已发布”站点位于c:\inetpub\wwwroot\MyPublishedApp. 该c:\Projets文件夹被排除在防病毒扫描之外,因此通常它应该更快而不是更慢

编辑 3

我在 c:\inetpub\wwwroot\Other 中创建了另一个工作区(解决方案在团队服务器源代码管理下),更改了 Web 项目的 url,编译并运行:没问题。因此,文件所在的物理路径似乎确实导致了这种情况,而与解决方案绑定的事实并非如此。

编辑 4(8 月 19 日)

好吧,似乎没有什么可做的。自上次更新以来已经过去了大约 10 天,现在新工作区下的站点也开始变慢。所以我移动了磁盘上的工作区,现在在 c:\inetpub\wwwroot\Other2,你知道吗?那又运行良好了。也许我将不得不在大约 10 天内再次移动它。

编辑 5

我将我的问题标记为转移到 serverfault,最后它与编程无关,正如我最初认为的那样。

0 投票
0 回答
292 浏览

.net - 使用 X509 令牌在 .Net 中使用 Web 服务

在 .net 中使用 Web 服务似乎很简单,您创建代理,然后在代码中使用。我尝试访问的 Web 服务具有令牌安全性,因此我直接从 MSDN 文档中创建了以下方法:

我的问题是,如何使用此方法并调用 Web 服务?有没有人这样做过?我认为这并不难,但必须承认我在这里被难住了。

0 投票
1 回答
836 浏览

wcf - 将旧版 WSE 客户端连接到 WCF 服务...不更改客户端

我们有一个 .NET 2.0 Forms App 客户端,它使用 WSE 连接到 asmx Web 服务。

我们想将服务升级到 WCF 并使用 VS 2010 和 .NET 4,但是我们无法强制现有(企业)客户更新他们的客户端软件/框架等,因此我们处于这样的位置升级服务的唯一方法是我们能否保持向后兼容性。

我们可以在客户端更新 app.config,但不能更新可执行文件,这意味着我们无法添加新的服务引用。

我们尝试将 WCF 服务配置为接受来自客户端应用程序的调用,而不对客户端进行更改,但未成功。我怀疑这甚至可以做到;当然,在客户端中添加一个新的引用可以使它工作,但是使用现有的引用并试图用新的服务来“伪造”它并没有。

服务端的配置如下:

我们得到的错误是:

由于 EndpointDispatcher 的 ContractFilter 不匹配,接收方无法处理带有 Action 'http://webservices.xyz.co.uk/xyz/DoTest' 的消息。这可能是因为合约不匹配(发送方和接收方之间的操作不匹配)或发送方和接收方之间的绑定/安全不匹配。检查发送方和接收方是否具有相同的合同和相同的绑定(包括安全要求,例如消息、传输、无)。

很高兴收到任何意见

0 投票
2 回答
8290 浏览

.net - 如何在 WSE 3.0 (.NET) 中将 EncodingType 属性添加到 UsernameToken 的 Nonce 元素

我正在尝试使用 WSE 3.0 从 MVC3 .NET Web 应用程序调用 Java Web 服务。

但是,Web 服务需要 UsernameToken 的 Nonce 元素上的“EncodingType”属性。以下是与此 Java Web 服务一起正常工作的示例 SOAP 信封:

以下是 VS2010 生成的代理生成的 SOAP 信封(在 Fiddler 中捕获):

如果缺少此属性,此 Web 服务将返回“提供了无效的安全令牌(处理用户名令牌时发生错误)”

如何添加 EncodingType 属性?

0 投票
1 回答
390 浏览

wse - 即使服务器使用 SOAP 消息进行响应,Microsoft.Web.Services2.SoapClient.SendRequestResponse 也会超时

据我了解,发布您学到的一些有用信息的最佳方式是自己提出问题然后回答,所以就这样吧。

场景:

  • 我们有一个应用程序,它从模板 xslt 文件构造一个 SOAP 请求,并包含一些参数,包括 MessageID
  • 它访问的真实服务就像请求一样,愉快地响应,我们的客户端愉快地处理响应
  • 我们正在尝试构建一个模拟服务的存根/响应程序
  • stub 只是实现 IHttpHandler 并响应任何 POST 操作
  • 存根从 XML 文件中读取预设响应,这是一个真实响应的示例,并通过网络发送它
  • Visual Round Trip Analyzer (NetMon under the hood) 和 Fiddler 都可以看到通过线路传输到客户端的响应
  • SendRequestResponse 最终超时并引发异常
0 投票
1 回答
531 浏览

ios - 您可以使用 MonoTouch 使用 Kerberos 身份验证连接到 ASP.net soap 服务吗?

我正在尝试使用 MonoTouch 使用 Kerberos 身份验证连接到 ASP.net soap 服务,但它不支持 WSE 扩展。它返回 401 身份验证失败。

正计划做这样的事情 http://www.15seconds.com/issue/040603.htm

有没有办法在 MonoTouch 中使用 WebServicesClientProtocol 类或使用 MT 进行 Kerberos 身份验证的任何替代方法?