授权账号访问Mule Release EE Repository遇Error 403 Forbidden问题
问题说明
修改从Anypoint Platform门户下载的Mule API代理,执行Maven构建时出现如下错误:
[ERROR] Failed to execute goal on project api-gateway-sample-rest-proxy: Could not resolve dependencies for project org.mule.examples:api-gateway-sample-rest-proxy:mule-application:3.1.6: Failed to collect dependencies at com.mulesoft.anypoint:mule-http-proxy-extension:jar:mule-plugin:1.1.4: Failed to read artifact descriptor for com.mulesoft.anypoint:mule-http-proxy-extension:jar:mule-plugin:1.1.4: Could not transfer artifact com.mulesoft.anypoint:api-gateway-extensions-parent:pom:1.1.3 from/to MuleRepository (https://repository.mulesoft.org/nexus-ee/content/repositories/releases-ee/): authorization failed for https://repository.mulesoft.org/nexus-ee/content/repositories/releases-ee/com/mulesoft/anypoint/api-gateway-extensions-parent/1.1.3/api-gateway-extensions-parent-1.1.3.pom, status: 403 Forbidden -> [Help 1]
已按官方要求在Maven settings文件中配置了凭证,但错误为403而非401,说明凭证有效但账号无权访问该资源。账号是组织下通过Anypoint认证创建的,组织持有Titanium许可证。求问访问该资源的具体权限要求在哪里可以查询?
补充配置文件
settings.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <settings> <servers> <server> <id>MuleRepository</id> <username>My user name</username> <password>some password</password> </server> </servers> <pluginGroups> <pluginGroup>org.mule.tools</pluginGroup> </pluginGroups> <profiles> <profile> <id>Mule</id> <activation> <activeByDefault>true</activeByDefault> </activation> <repositories> <repository> <id>MuleRepository</id> <name>MuleEE Releases Repository</name> <url>https://repository.mulesoft.org/nexus-ee/content/repositories/releases-ee/</url> <layout>default</layout> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> </profile> </profiles> </settings>
pom.xml(未修改)
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.mule.examples</groupId> <artifactId>api-gateway-sample-rest-proxy</artifactId> <version>3.1.6</version> <packaging>mule-application</packaging> <name>psh_rtn_webapi-v1-dmz_qua</name> <properties> <muleHttpConnectorVersion>1.7.2</muleHttpConnectorVersion> <muleMavenPluginVersion>3.5.3</muleMavenPluginVersion> <proxyExtensionVersion>1.1.4</proxyExtensionVersion> <restValidatorVersion>2.2.4</restValidatorVersion> <attachMuleSources>true</attachMuleSources> </properties> <dependencies> <dependency> <groupId>com.mulesoft.anypoint</groupId> <artifactId>mule-http-proxy-extension</artifactId> <version>${proxyExtensionVersion}</version> <classifier>mule-plugin</classifier> </dependency> <dependency> <groupId>com.mulesoft.anypoint</groupId> <artifactId>mule-rest-validator-extension</artifactId> <version>${restValidatorVersion}</version> <classifier>mule-plugin</classifier> </dependency> <dependency> <groupId>org.mule.connectors</groupId> <artifactId>mule-http-connector</artifactId> <version>${muleHttpConnectorVersion}</version> <classifier>mule-plugin</classifier> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.mule.tools.maven</groupId> <artifactId>mule-maven-plugin</artifactId> <version>${muleMavenPluginVersion}</version> <extensions>true</extensions> <configuration> <classifier>mule-application</classifier> </configuration> </plugin> </plugins> </build> <repositories> <repository> <id>mule</id> <name>Mule Public Repository</name> <url>https://repository.mulesoft.org/nexus/content/repositories/public/</url> </repository> <repository> <id>MuleRepository</id> <name>Mule Release EE Repository</name> <url>https://repository.mulesoft.org/nexus/content/repositories/releases-ee/</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>mulesoft-plugin-releases</id> <name>MuleSoft Release Repository</name> <url>https://repository.mulesoft.org/releases/</url> <layout>default</layout> </pluginRepository> <pluginRepository> <id>mulesoft-plugin-snapshots</id> <name>MuleSoft Snapshots Repository</name> <url>https://repository.mulesoft.org/snapshots/</url> <layout>default</layout> </pluginRepository> </pluginRepositories> <distributionManagement> <downloadUrl>http://www.mulesoft.com/mule-esb-enterprise-trial-download</downloadUrl> <repository> <id>mule-ee-releases</id> <name>Mule Release Repository</name> <url>https://repository-master.mulesoft.org/nexus/content/repositories/ci-releases</url> </repository> <snapshotRepository> <id>mule-ee-snapshots</id> <name>Mule Snapshot Repository</name> <url>https://repository-master.mulesoft.org/nexus/content/repositories/ci-snapshots</url> </snapshotRepository> </distributionManagement> </project>
解决路径
- 确认账号权限:联系组织Anypoint管理员,检查你的账号是否被分配了
Enterprise Repository Access权限。Titanium许可证覆盖组织范围,但单个用户需明确授权才能访问私有EE仓库组件。 - 验证组件权限:在Anypoint Platform组织管理页面,查看已授权的组件列表,确认
api-gateway-extensions-parent这类组件是否包含在你的许可证权限内。部分高级组件需额外授权。 - 核对仓库配置:确保settings.xml中
<server>的id与pom.xml中对应仓库的id完全匹配(当前配置已满足)。 - 提交支持工单:若以上步骤无效,直接向MuleSoft提交工单,提供组织ID、账号信息和错误日志,官方可查询该资源的具体访问要求及你的账号权限状态。
内容的提问来源于stack exchange,提问作者MiguelSlv

