如何将Windows Phone 8.1(Silverlight)连接到Nav 2009 R2 Web服务?
我已经做了几年的.Net开发人员,在将ASP.Net和winform应用程序连接到web服务方面有着丰富的经验。最近我开始与Navision合作,特别是2009 R2 我已经为ASP.Net和Winforms创建了许多成功连接到Navision web服务的应用程序,最近我被要求研究开发一个Windows Phone 8.1应用程序,以取代在平板电脑上运行的现有应用程序,而这正是它出了严重问题的地方 在阅读了以上内容和一些尝试和错误案例之后,当我打开Visual Studio 2013并创建Windows Phone 8.1运行时应用程序时,似乎无法向Navision Web服务添加Web引用或服务引用 我重新开始使用WindowsPhone8.1(Silverlight)应用程序,至少我可以选择添加服务引用 我添加了指向我的Web服务的服务引用,但Web服务要求用户设置一组凭据(Windows域用户帐户),并且没有提示我输入这些凭据。好的,也许它们是在运行时设置的 在一篇关于使用Silverlight 3连接Navision web服务的文章之后,我已经准备好了大部分代码,但仍然没有输入任何用户凭据的选项。常规Silverlight与Windows Phone开发环境中使用的版本似乎有所不同 以下代码是取自我的测试应用程序的方法如何将Windows Phone 8.1(Silverlight)连接到Nav 2009 R2 Web服务?,web,service,windows-phone-8.1,navision,Web,Service,Windows Phone 8.1,Navision,我已经做了几年的.Net开发人员,在将ASP.Net和winform应用程序连接到web服务方面有着丰富的经验。最近我开始与Navision合作,特别是2009 R2 我已经为ASP.Net和Winforms创建了许多成功连接到Navision web服务的应用程序,最近我被要求研究开发一个Windows Phone 8.1应用程序,以取代在平板电脑上运行的现有应用程序,而这正是它出了严重问题的地方 在阅读了以上内容和一些尝试和错误案例之后,当我打开Visual Studio 2013并创建Wi
protected void ConnectToNav()
{
try
{
string serviceURL = "http://192.168.0.50:7047/DynamicsNAV/WS/TestCompany/Page/svcUser";
svcUser_PortClient userService = new svcUser_PortClient("svcUser_Port", new EndpointAddress(serviceURL));
userService.ClientCredentials.UserName.UserName = @"Domain\User";
userService.ClientCredentials.UserName.Password = @"Password";
userService.ReadMultipleCompleted += delegate(object sender, ReadMultipleCompletedEventArgs e)
{
display(e.Error.Message);
if (e.Result.Length > 0)
{
display("10 Users:");
for (int i = 0; i < e.Result.Length; i++)
{
display(e.Result[i].ToString());
}
}
};
List<svcUser_Filter> filters = new List<svcUser_Filter>();
userService.ReadMultipleAsync(filters.ToArray(), null, 10);
}
catch (Exception ex)
{
display(ex.Message);
}
}
public void display(string s)
{
this.OutputTextBox.Text += s + Environment.NewLine;
}
protectedvoid ConnectToNav()
{
尝试
{
字符串serviceURL=”http://192.168.0.50:7047/DynamicsNAV/WS/TestCompany/Page/svcUser";
svcUser_PortClient userService=新svcUser_PortClient(“svcUser_Port”,新端点地址(serviceURL));
userService.ClientCredentials.UserName.UserName=@“域\用户”;
userService.ClientCredentials.UserName.Password=@“密码”;
userService.ReadMultipleCompleted+=委托(对象发送方,ReadMultipleCompletedEventArgs e)
{
显示(如错误信息);
如果(e.Result.Length>0)
{
显示(“10个用户:”);
for(int i=0;i
这就是返回的错误
远程服务器返回意外响应:(401)未经授权。在Silverlight中,即使服务发送差异错误代码,也可能报告404响应代码
我很想听到任何人的意见,或者知道任何关于它的好的参考资料,以及如何让它工作。我建议使用Windows Phone运行时,以便于迁移。您可以使用ASP.NET Web API并使用其中的NAV Web服务,然后从Windows Phone应用程序调用Web API。这对你有用吗
这里有一个很好的资源。感谢您的回复,但是我看了视频,没有看到任何对我有帮助的内容。我知道如何连接到Navision Web服务的唯一方法是在Visual Studio中添加一个Web引用,它为我提供了一个wsdl文件,该文件描述了我在C#项目中使用的对象和方法。如果你有一个例子,你可以张贴,这将告诉我如何连接到Navision网络服务,这将是非常有帮助的工作!谢谢