我正在尝试从 PHP 环境将数据发送到 C#(实际上是 Mono)Web 服务。奇怪的是,当我使用浏览器 URL(即使用 GET 方法)调用 Web 服务时,它可以正常工作。
但是,从我的 PHP 脚本调用它表明 Mono 侧没有收到任何参数。
这是我的 PHP 调用:
$domoWSHeader->setAuthenticatedToken($resultAuthentification->AuthentificationResult);
$inputHeaders = new SoapHeader("http://tempuri.org/domo", "DomoWSHeader", $domoWSHeader, false);
$result = $soapClient->__soapCall("MyWebServiceMethod", array("idLight"=>$uuid), NULL, $inputHeaders);
Webservices.asmx 看起来像:
namespace domo
{
public class DomoWSHeader : System.Web.Services.Protocols.SoapHeader
{
public string username;
public string password;
public string authenticatedToken;
}
[WebMethod]
public bool MyWebServiceMethod(int idLight)
{
bool success = false;
//Snip
return success;
}
}
我尝试了什么?
尝试[System.Web.Services.Protocols.SoapHeader("DomoWSHeader")]
在方法之前声明并没有改变行为。
我还尝试编辑web.config
文件以在其中添加协议。我对 C# 世界完全陌生,我不确定在哪里可以找到这个问题的答案。我希望你们中的一个可以帮助我了解这里发生了什么。