"需要对最终收件人采取行动",无法使用SOAP服务

时间:2014-10-29 14:05:22

标签: .net web-services soap wse

我有一个SOAP网络服务,我试图测试,但无法得到任何工作。我确实可以访问服务的代码,尝试从SoapUI调用,VS的服务引用,以及滚动我自己的XML,但都无济于事。

无论我做什么,我都会收到此错误:

  

Microsoft.Web.Services3.Security.SecurityFault:最终收件人的标头http://schemas.xmlsoap.org/ws/2004/08/addressing:Action是必需的,但邮件中不存在。

以下是尝试使用Visual Studio生成的服务引用(指向.asmx)的相关代码。如你所见,没有任何有趣的事情发生...... 控制台应用:

Magi.ServiceSoapClient client = new Magi.ServiceSoapClient();

string magiVersion = "1.2";
string returnXml = string.Empty;

client.Open();
try
{
   client.CheckPricing(magiVersion, ref returnXml);
}
catch (Exception) { }

Console.Write(returnXml);
Console.Read();

client.Close();

VS在Reference.cs中生成代码

// CODEGEN: Generating message contract since the wrapper namespace (http://www.company.com/product/2) of message CheckPricingRequest does not match the default value (http://www.company.com/product/2/ws/)
[System.ServiceModel.OperationContractAttribute(Action="http://www.company.com/product/2/ws/wsdl/Service.wsdl", ReplyAction="*")]
magi_ws_tester.Magi.CheckPricingResponse CheckPricing(magi_ws_tester.Magi.CheckPricingRequest request);

我尝试过以任何我能找到的方式附加Header,并尝试使用SoapUI的WS-A功能,但是无法解决这个问题。

要注意:导航到.asmx或asmx?浏览器中的WSDL工作正常,VS和SoapUI按预期捕获服务的详细信息和方法。

0 个答案:

没有答案