简短错误说明:
来自PerfSDK的 Ms.Dynamics.Performance.CreateUsers.exe
会抛出错误
https://mytest.sandbox.operations.dynamics.com/Services/AxUserManagement/Service.svc/ws2007FedHttp没有可以接受该消息的端点。
长错误描述:
我已经从XML记录中创建了一个用户C#测试,并成功运行PerfSDK,如 PerfSDK and multiuser testing with Visual Studio Online 指南的第一部分所述。
我在运行多用户负载测试时遇到问题,如实验第二部分所述。上面的链接似乎是在线描述如何从单用户测试创建多用户测试的唯一资源,以及如何使用Visual Studio Online在沙箱环境中运行它。我还观看了一些视频,例如Tools to Measure and Improve Microsoft Dynamics AX Performance,Performance Tools等,但没有一个视频解释了与上述文章一样详细的所有步骤。< / p>
我做了以下事情:
PerfSDKSample
文件夹的PerfSDK
项目。注意:我使用DEV环境usnconeboxax1aos.cloud.onebox.dynamics.com进行测试。当我尝试在CloudEnvironment.Config
(沙箱,例如mysandbox.sandbox.operations.dynamics.com)中使用其他主机名时,单用户测试失败并显示以下错误消息:
System.TypeInitializationException:&#39; MS.Dynamics.TestTools.CloudCommonTestUtilities.Authentication.UserManagement&#39;的类型初始值设定项。抛出一个例外。 ---&GT; System.ServiceModel.EndpointNotFoundException:https://mysandbox.sandbox.operations.dynamics.com/Services/AxUserManagement/Service.svc/ws2007FedHttp没有可以接受该消息的端点。这通常是由错误的地址或SOAP操作引起的。有关更多详细信息,请参阅InnerException(如果存在)。 ---&GT; System.Net.WebException:远程服务器返回错误:(404)Not Found ..
单用户TestSetup:
public void TestSetup()
{
SetupData();
_userContext = new UserContext(UserManagement.AdminUser);
Client = DispatchedClient.DefaultInstance;
Client.ForceEditMode = false;
Client.Company = "GB01";
Client.Open();
}
多用户TestSetup:
public void TestSetup()
{
var testroot = System.Environment.GetEnvironmentVariable("DeploymentDir");
if (string.IsNullOrEmpty(testroot))
{
testroot = System.IO.Directory.GetCurrentDirectory();
}
Environment.SetEnvironmentVariable("testroot", testroot);
if (this.TestContext != null)
{
timerProvider = new TimerProvider(this.TestContext);
}
SetupData();
_userContext = new UserContext(UserManagement.AdminUser);
Client = new DispatchedClientHelper().GetClient();
Client.ForceEditMode = false;
Client.Company = "GB01";
Client.Open();
}
CloudEnvironment.Config
中的HostName设置为沙箱网址,例如mysandbox.sandbox.operations.dynamics.com。vsonline.testsettings
并使用上面article中建议的设置(相应地针对我的证书和测试方案进行了修改)。SampleLoadTest.loadtest
并将其调整为仅在Test Mix节点中使用我的测试,缩短测试持续时间和用户数。负载测试以一些错误结束。第一个 TestError 与上面提到的相同:
初始化方法MS.Dynamics.Performance.Application.TaskRecorder.GenJnlBase.TestSetup抛出异常。 System.TypeInitializationException:System.TypeInitializationException:&#39; MS.Dynamics.TestTools.CloudCommonTestUtilities.Authentication.UserManagement&#39;的类型初始值设定项。抛出一个例外。 ---&GT; System.ServiceModel.EndpointNotFoundException:https://mysandbox.sandbox.operations.dynamics.com/Services/AxUserManagement/Service.svc/ws2007FedHttp没有可以接受该消息的端点。这通常是由错误的地址或SOAP操作引起的。有关更多详细信息,请参阅InnerException(如果存在)。 ---&GT; System.Net.WebException:远程服务器返回错误:(404)Not Found ..
Ms.Dynamics.Performance.CreateUsers.exe
(在usnconeboxax1aos.cloud.onebox.dynamics.com中创建了许多测试AX用户),但在{{1}中设置了沙箱环境URL },CloudEnvironment.Config
失败,错误错误:C:\ PerfSDK&gt; Ms.Dynamics.Performance.CreateUsers.exe 3 GB01 失败,出现以下错误: System.TypeInitializationException:&#39; MS.Dynamics.TestTools.CloudCommonTestUtilities.Authentication.UserManagement&#39;的类型初始值设定项。抛出一个例外。 ---&GT; System.ServiceModel.EndpointNotFoundException:https://mytest.sandbox.operations.dynamics.com/Services/AxUserManagement/Service.svc/ws2007FedHttp没有可以接受该消息的端点。这通常是由错误的地址或SOAP操作引起的。有关更多详细信息,请参阅InnerException(如果存在)。 ... 在[0]处重新抛出异常: 在System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg) 在System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&amp; msgData,Int32 type) 在MS.Dynamics.TestTools.CloudCommonTestUtilities.AxUserManagementServiceReference.IAxUserManagement.EnumUsers() 在MS.Dynamics.TestTools.CloudCommonTestUtilities.Authentication.UserManagement.PopulateAxUsers() 在MS.Dynamics.TestTools.CloudCommonTestUtilities.Authentication.UserManagement..cctor() ---内部异常堆栈跟踪结束--- 在MS.Dynamics.TestTools.CloudCommonTestUtilities.Authentication.UserManagement.get_AdminUser() 在MS.Dynamics.Performance.CreateUsers.Program.Main(String [] args)
答案 0 :(得分:0)
根据walkthrough,
如果您有启用ARR的环境,即您有2个端点,例如 这样:
- apr-arr8aossoap.axcloud.test.dynamics.com
- apr-arr8aos.axcloud.test.dynamics.com
您需要在CloudEnvironment.Config中输入两个端点
可以通过指定正确的SOAP主机名来解决no endpoint listening
错误,例如
<ExecutionConfigurations Key="HostName" Value="mysandbox.sandbox.operations.dynamics.com" />
<ExecutionConfigurations Key="SoapHostName" Value="mysandboxaossoap.sandbox.operations.dynamics.com" />