Warm tip: This article is reproduced from serverfault.com, please click

其他-Mule Maven部署失败401-未授权

(其他 - Mule Maven Deployment Failure 401-Unauthorized)

发布于 2020-12-07 19:10:51

尝试部署到我们的AWS VM实例(具有Mule运行时3.8.5)。我们的Jenkins职位触发了部署并获得401未经授权。验证信誉良好,并且没有特殊字符。不知道还有什么可能是错误的。有人可以从日志下面建议我。

另一个疑问是aws区域是否引起了问题?(实例在西部运行,但在詹金斯建立实例时显示为东部)

 Failed: 401 Unauthorized: Unauthorized
[ERROR] Failed to deploy XXXX: Failed to deploy application XXXX
org.mule.tools.maven.plugin.mule.DeploymentException: Failed to deploy application XXX
    at org.mule.tools.maven.plugin.mule.arm.ArmDeployer.deploy(ArmDeployer.java:55)
    at org.mule.tools.maven.plugin.mule.DeployMojo.deployWithDeployer(DeployMojo.java:194)
    at org.mule.tools.maven.plugin.mule.DeployMojo.arm(DeployMojo.java:177)
    at org.mule.tools.maven.plugin.mule.DeployMojo.doExecute(DeployMojo.java:154)
    at org.mule.tools.maven.plugin.mule.AbstractMuleMojo.execute(AbstractMuleMojo.java:214)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:107)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:993)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:345)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:191)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.mule.tools.maven.plugin.mule.ApiException: 401 Unauthorized: Unauthorized
    at org.mule.tools.maven.plugin.mule.AbstractMuleApi.validateStatusSuccess(AbstractMuleApi.java:78)
    at org.mule.tools.maven.plugin.mule.AbstractMuleApi.getBearerToken(AbstractMuleApi.java:69)
    at org.mule.tools.maven.plugin.mule.AbstractMuleApi.init(AbstractMuleApi.java:60)
    at org.mule.tools.maven.plugin.mule.arm.ArmDeployer.deploy(ArmDeployer.java:38)
Questioner
Learner
Viewed
0
JRichardsz 2020-12-08 06:16:16

快速回答

401表示:HTTP 401未经授权的客户端错误状态响应代码表示该请求尚未应用,因为它缺少针对目标资源的有效身份验证凭据。

因此,可能的原因是:

  • 凭证不正确
  • jenkins不正确的凭据注入或jenkins错误
  • mule-maven-plugin:2.2.1错误

验证凭证

Jenkins或mule-maven-plugin错误并不常见。人为错误非常普遍。

为了验证是谁导致错误?,我建议你直接将凭据验证到Anypoint http url

Anypoint登录网址

回顾官方插件的源代码V2.2.1关系到你的堆栈跟踪ArmDeployer.deploy(ArmDeployer.java:38)

https://github.com/mulesoft/mule-maven-plugin/tree/v2.2.1

及其类(按此顺序):

我得到了基本网址:

ArmApi(null, "https://anypoint.mulesoft.com", USERNAME, PASSWORD, ENVIRONMENT, "", false);

并使用此网址,我找到了此身份验证请求代码段:

curl -H "Content-Type: application/json" -X POST -d '{"username":"jane","password":"doe"}' https://anypoint.mulesoft.com/accounts/login

同样在此Web中,显示了另一种身份验证方式:

  • 形式参数
  • 承载(用于mule-maven-plugin:2.2.1)

资料来源:https : //help.mulesoft.com/s/article/How-to-generate-your-Authorization-Bearer-token-for-Anypoint-Platform

直接认证:成功

如果https://anypoint.mulesoft.com/accounts/login返回成功答案,将表明你的詹金斯凭证管理器中存在某些错误,或者只是人类詹金斯管理员中存在错误。

直接认证:失败

如果https://anypoint.mulesoft.com/accounts/login返回错误答案,例如401 Unauthorized,将表明mule-maven-plugin:2.2.1和jenkins很好,并且你的凭据错误!!!也许他们过期了。

无论如何,请尝试重设凭据或要求新的用户名/密码。