Xamarin Android:SOAP Web服务失败(401未经授权),但我的credentails是正确的 在Xamarin.Android中出错
我得到以下错误: {System.Net.WebException:请求失败,HTTP状态为401: 未经授权 System.Web.Services.Protocols.SoapHttpClientProtocol.ReceiverResponse (System.Net.WebResponse响应, System.Web.Services.Protocols.SoapClientMessage消息, 中的System.Web.Services.Protocols.SoapExtension[]扩展)[0x00055] /Users/builder/data/lanes/3511/77cb8568/source/mono/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHttpClientProtocol.cs:273 位于System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (System.String方法_名称,System.Object[]参数)[0x000b8]位于 /Users/builder/data/lanes/3511/77cb8568/source/mono/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHttpClientProtocol.cs:365 位于DSPFood.Droid.SOAP.scan.ShipGetNewBatchCode(System.String C:\Projects\Projecten\DSP中的scannerID)[0x00001] 食物\Solution\DSPFood\DSPFood\DSPFood.Droid\Web References\SOAP\Reference.cs:389 at(包装器 远程处理(通过检查调用) DSPFood.Droid.SOAP.scan:shippGetNewBatchCode(字符串)位于 DSPFood.Droid.DependencyServices.SoapService+d_u13.MoveNext ()[0x00057]在C:\Projects\Projecten\DSP中 食物\Solution\DSPFood\DSPFood\DSPFood.Droid\DependencyServices\SoapService.cs:290 } 控制台应用程序中的工作代码 但是,当我在控制台应用程序中运行以下代码时,它可以工作:Xamarin Android:SOAP Web服务失败(401未经授权),但我的credentails是正确的 在Xamarin.Android中出错,soap,xamarin,xamarin.android,unauthorized,Soap,Xamarin,Xamarin.android,Unauthorized,我得到以下错误: {System.Net.WebException:请求失败,HTTP状态为401: 未经授权 System.Web.Services.Protocols.SoapHttpClientProtocol.ReceiverResponse (System.Net.WebResponse响应, System.Web.Services.Protocols.SoapClientMessage消息, 中的System.Web.Services.Protocols.SoapExtension[
static void Main(string[] args)
{
var nc = new NetworkCredential("**", "**");
var soapClient = new SOAP.scan();
soapClient.UseDefaultCredentials = true;
soapClient.Credentials = nc;
var response = soapClient.ProdGetNewBatchCode("");
}
答复:“A000000086”
沙马林
异常:请求失败,HTTP状态401:未经授权
您是在模拟器还是在物理设备上运行代码?在物理设备上您是否在清单中请求internet权限?@Screech129是的,我没有。您是否在实际设备上尝试过。可能是android仿真器网络环境问题。
public string ShipGetNewBatchCode(string macAddress)
{
var retValue = "";
try
{
var nc = new NetworkCredential("**", "**");
var soapClient = new SOAP.scan();
soapClient.UseDefaultCredentials = true;
soapClient.Credentials = nc;
var response = soapClient.ProdGetNewBatchCode("");
}
catch (Exception ex)
{
throw ex;
}
return retValue;
}