客户端调用webservice,soapaction值怎么设置

客户端调用webservice,soapaction值怎么设置,第1张

对于webservice 有2种风格:1:restful , 2:soap 对于第一种 是最直观的 webservice服务, 可以直接在浏览器上通过地址访问。 对于第二种 使用的是soap协议,在请求头上 需要添加soap头, 这二种 风格 都可以使用 httpconnection 进行调用, 只是 对于第二种会稍微麻烦一点。 另外 java 也有专门对于 webservice访问的包装, 如:cxf ,axis2 可以对他们进行调查!

Action 在WS规范里,用来定义消息请求的地址。也就是消息发送到哪个 *** 作或者服务方法。@jowo 在我的博客WCF分布式开发步步为赢(5)服务契约与 *** 作重载 里提过这个问题。最近学习Biztalk的时候又重新复习了一下,整理出来。这里涉及到WCF如何处理消息请求和分发消息的问题。

WCF OperationContract属性提供了对请求和返回消息地址的配置。

1.Action属性,设置WS-Addressing格式的地址,这个地址是来指定请求消息的目的地.

2.ReplyAction属性设置WS-Addressing格式的地址,这个地址是来指定返回消息的目的地.

备注:这里其实和Web 服务类似。WS-Addressing协议是行业标准,来识别消息的来源和目的地,使用WS- Security对到目的地的来源进行身份验证。

WCF 默认使用的Action的值是服务契约的namespace+ 服务契约+ *** 作名字 (Action = "<a href=" /frank_xl/IWCFOverLoadingService/SayHelloOverLoading2"" ),不代表实际的服务地址。WCF框架会在收到请求后作地址映射,发消息发送到实际的 *** 作上

所以一个携带Action值的消息到来,WCF分发器dispatcher会根据Action的Value来确定发给那个 *** 作方法。这个过程消息会被反序列化。

设置Action=”*” 可以使用一个Operation处理所有的请求消息。ReplyAction=”*” 可以使用一个Operation处理所有的返回消息。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11274550.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存