问题标签 [ws-addressing]

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 回答
1880 浏览

wcf - 使用支持标准的绑定指定必须在 WCF 中签名和/或加密的标头部分

使用 Ws2007HttpBinding 并保护服务,生成的 WSDL 文件在策略部分显示所有 ws-addressing 标头和正文都将被签名,并且正文将被加密。

我们想指定必须对哪些标头进行签名和/或加密,就像在 Apache 壁垒中一样。对于自定义的 header 或 body 元素,可以在代码中使用注解,但是对于这些由绑定本身添加的元素,是否可以?

0 投票
1 回答
326 浏览

terminology - WS Addressing

What is WS Adressing?

Thanks Sekar

0 投票
2 回答
1804 浏览

wcf - 如何使用 WCF 实现 WS 寻址?

如何使用 WCF 实现 WS 寻址?

0 投票
1 回答
420 浏览

wcf - 使用 WS 寻址的异步 Web 服务

我需要实现一个启用 WCF WS 寻址的 Web 服务,该服务基于方法的参数执行长时间运行的过程。

客户端不需要等待结果,因为它会直接传递到数据库表中。但是,Web 方法确实需要返回一个“跟踪 ID”号(实际上是一个 GUID),以便客户端可以使用它来从数据库中检索结果。

  1. Web 方法只接受接收到的参数,创建一个新的 GUID 并将所有这些信息存储在数据库表(或 MSMQ 队列)或类似的东西中。然后它将跟踪 GUID 返回给客户端。外部服务(可能是 Windows 服务)会不断轮询“收件箱”,为每个请求执行长时间运行的过程,并生成结果并响应回调服务

提前致谢

塞卡

0 投票
3 回答
7375 浏览

wcf - WCF wsHttpBinding 通过防火墙的有趣问题

我在 Internet 托管服务提供商中部署了一个 Web 应用程序。此 Web 应用程序使用部署在我公司应用程序服务器的 IIS 服务器上的 WCF 服务,为了对公司的数据库进行数据访问,出于安全原因,网络人员允许我通过防火墙公开此 WCF 服务。图表看起来像这样。

[托管页面] ---> (Internet) ---> |防火墙<Public IP>:<Port-X >| ---> [带有 WCF 服务的 IIS <Comp. Network Ip>:<Port-Y>]

我还想使用 wsHttpBinding 来利用其安全功能,并加密敏感信息。

尝试后我收到以下错误:

异常详细信息:System.ServiceModel.EndpointNotFoundException:由于 EndpointDispatcher 的 AddressFilter 不匹配,接收方无法处理带有“http://:/service/WCFService.svc”的消息。检查发送方和接收方的 EndpointAddresses 是否一致。

做了一些研究,我发现 wsHttpBinding 使用 WS-Addressing 标准,并且阅读了这个标准,我了解到 SOAP 标头被增强以包含像“MessageID”、“ReplyTo”、“Action”和“To”这样的标签。

所以我猜测,因为客户端应用程序端点指定了防火墙 IP 地址和端口,并且服务使用与防火墙 IP 不同的内部网络地址进行回复,所以 WS-Addressing 会触发上述消息。我认为这是一个非常好的安全措施,但在我的场景中并不是很有用。

引用 WS-Addressing 标准提交 ( http://www.w3.org/Submission/ws-addressing/ )

“由于目前广泛使用的网络技术范围(例如,NAT、DHCP、防火墙),许多部署无法为给定端点分配有意义的全局 URI。为了允许这些‘匿名’端点启动消息交换模式和接收回复时,WS-Addressing 定义了以下众所周知的 URI,供无法具有稳定、可解析 URI 的端点使用 。http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous

如何配置我的 wsHttpBinding 端点来寻址我的防火墙的 IP 并忽略或绕过 SOAP 消息头中的“To”WS-Addressing 标记中指定的地址?或者我是否必须更改我的服务端点配置中的某些内容?

帮助和指导将不胜感激。

马尔科。

PS:虽然我找到了任何解决方案,但我使用 basicHttpBinding 当然绝对没有问题。

0 投票
2 回答
544 浏览

wcf - WS 寻址和多个“回复”

请任何人澄清我WCF中的WS寻址是否支持多个ReplyTo?。

0 投票
2 回答
2529 浏览

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

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

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

谢谢

0 投票
3 回答
15014 浏览

java - 如何在 Axis2 客户端中正确使用 WS-Addressing?

总而言之,我正在尝试编写一个调用 Axis2.1.5 中的 Web 服务客户端的 Junit 测试,但我对如何准确地设置它以使用 WS-Addressing 感到困惑。

我已经使用 wsdl2java 生成了一个客户端存根,并且我正在使用来自 axis2 二进制发行版的 axis2.xml 和模块存储库。

我知道我需要使用 WS-Addressing 的 MemberSubmission 版本,并且我认为我已经正确设置(使用选项),但标题似乎没有正确生成。(我说“似乎”是因为我也不知道 SOAPMonitor 模块如何工作——我也欢迎任何提示!)。

不过,我的主要困惑在于“参与”寻址模块究竟需要什么。使用引用寻址模块的axis2.xml文件设置我的ConfigurationContext是否足够?像这样?:

像上面那样设置我的选项,在日志文件中可以看到模块正在从axis2.xml加载:

但我认为我没有得到任何寻址标头。此时我从服务器返回的错误说:

标头 http://schemas.xmlsoap.org/ws/2004/08/addressing :最终收件人的操作是必需的,但消息中不存在。

因此,我还看到一些文档引用了“参与”模块。但是,当我尝试将此行添加到我的代码并将addressing-1.5.1.mar 添加到我的类路径时:

我收到一条错误消息:

无法使用模块:解决 org.apache.axis2.AxisFault:无法使用模块:org.apache.axis2.client.ServiceClient.engageModule 处的 soapmonitor(ServiceClient.java:358)

但是,日志中没有其他信息或堆栈跟踪,所以我很困惑。

关于我做错了什么的任何想法?

0 投票
2 回答
179 浏览

.net - 如何控制服务方法的 URI?

我正在尝试创建一个 WCF 客户端来将 XML 消息发送到 CGI 脚本。该脚本以请求-响应模式运行,其中 XML 消息的内容将确定要调用的操作。

我首先创建了一个服务合同来表示 CGI 脚本将接受的已定义文档集:

我已经从这个接口生成了一个代理客户端,并将端点配置为 CGI 脚本的地址并使用 HTTP 传输。

发出请求时,WCF 运行时的默认行为是将操作名称附加到端点地址以生成 URI http://server/script.cgi/request1

如何修改此行为,以便将所有请求发送到端点地址而不更改 URI(例如http://server/script.cgi)?

0 投票
2 回答
1192 浏览

wcf - 多个保护级别在 WCF 中不起作用

我在 WCF 的安全部分遇到问题。

问题是:部分加密不适用于消息有效负载。当我在 MessageContract 和 MessageBodyMember 属性中更改 ProtectionLevel 时,它要么完全加密有效负载,要么保持未加密整个有效负载。

即,部分加密不起作用,我希望有效负载(消息正文元素)的根标记未加密,其余部分,即根标记的子元素要加密。在服务器上,spring webservices的enpoint-mapping需要这种行为。

这是一个用Java开发的Web Service的Dot Net客户端程序(Contract First WebService Developed in Spring WS)。它使用相互证书来保证安全。

我正在使用 messageSecurityVersion、WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10 的自定义绑定。

我不确定它是否与此绑定的 WS-Addressing 支持有关。

这是我的 app.config

这是 svcutil 生成的代理类(仅相关部分)

预期的 SOAP 请求

在上面的 SOAP 消息中,在正文内部,我需要对 getActualInvoiceOutputRequest 的内容进行加密,并且不希望对 getActualInvoiceOutputRequest 进行加密。现在,整个正文内容都被加密了。

我遵循了以下 MSDN 网页 http://msdn.microsoft.com/en-us/library/aa347692.aspx中给出的指导方针

它警告 WS-Addressing Dependency。它有一个声明,[例如,BasicHttpBinding 类不支持规范,或者如果您创建了不支持 WS-Addressing 的自定义绑定。]。

我怀疑那个区域,WS-Addressing 对我的自定义绑定的支持。有人可以帮忙吗?

谢谢, 沙米尔