Mulesoft使用基本身份验证连接到API,但没有密码

Mulesoft使用基本身份验证连接到API,但没有密码,api,http,authentication,mule,mule-studio,Api,Http,Authentication,Mule,Mule Studio,我正试图通过我的mule esb项目连接到Insightly API。Insightly要求您使用基本身份验证来连接到API,并且他们为您提供了一个API密钥作为用户名用于身份验证,但他们告诉您将密码留空 使用HTTPS请求端点时,基本身份验证中需要密码,因此这对我来说是个问题。我尝试使用属性占位符作为密码,然后将占位符值保留为空,这允许我运行流,但在部署时出错 有没有人知道我如何才能做到这一点,目前我一直在使用不推荐使用的http:outbound和inbound端点来实现这一点,但这不是一个

我正试图通过我的mule esb项目连接到Insightly API。Insightly要求您使用基本身份验证来连接到API,并且他们为您提供了一个API密钥作为用户名用于身份验证,但他们告诉您将密码留空

使用HTTPS请求端点时,基本身份验证中需要密码,因此这对我来说是个问题。我尝试使用属性占位符作为密码,然后将占位符值保留为空,这允许我运行流,但在部署时出错

有没有人知道我如何才能做到这一点,目前我一直在使用不推荐使用的http:outbound和inbound端点来实现这一点,但这不是一个永久性的解决方案,我希望将所有这些不推荐使用的端点转移到新的http请求连接器


我们将非常感谢您的任何帮助

您是否尝试过将MEL与空字符串一起使用:

<http:request path="/something" method="POST" config-ref="http">
    <http:basic-authentication username="USER" password="#['']" />
</http:request-config>

或者,输入用户和空白密码,然后自己添加授权标头:

<http:request config-ref="http" path="/something" method="POST" doc:name="Request to BPM">
    <http:request-builder>
        <http:header headerName="Authorization" value="Basic a2VybWl0OnBhc3N3b3JkMQ=="/>
    </http:request-builder>
</http:request>

您是否尝试过使用带有空字符串的MEL:

<http:request path="/something" method="POST" config-ref="http">
    <http:basic-authentication username="USER" password="#['']" />
</http:request-config>

或者,输入用户和空白密码,然后自己添加授权标头:

<http:request config-ref="http" path="/something" method="POST" doc:name="Request to BPM">
    <http:request-builder>
        <http:header headerName="Authorization" value="Basic a2VybWl0OnBhc3N3b3JkMQ=="/>
    </http:request-builder>
</http:request>


您使用的是HTTP传输(HTTP:outbound endpoint)还是连接器(HTTP:request)?连接器(HTTP:request)您使用的是HTTP传输(HTTP:outbound endpoint)还是连接器(HTTP:request)?连接器(HTTP:request)我说我试图摆脱使用HTTP:outbound enpoint我正在尝试使用HTTP:request。它在http:outbound端点上运行得很好,但不推荐使用该连接器。我尝试了这两种解决方案,每次都得到了401。仍然收到401的声音,好像他们不想要一个空白密码。您能在外部http客户端(如curl或postman)中实现这一点吗?如果连接器的基本身份验证不起作用,您可以像上面那样尝试自己发送头。但是,该值应该类似于
value=“#['Basic'+org.apache.commons.codec.binary.Base64.encodeBase64String('user:'.getBytes())]”“
我说我试图摆脱使用http:outbound enpoint的习惯,我试图使用http:request。它在http:outbound端点上运行得很好,但不推荐使用该连接器。我尝试了这两种解决方案,每次都得到了401。仍然收到401的声音,好像他们不想要一个空白密码。您能在外部http客户端(如curl或postman)中实现这一点吗?如果连接器的基本身份验证不起作用,您可以像上面那样尝试自己发送头。但是,该值应该类似于
value=“#['Basic'+org.apache.commons.codec.binary.Base64.encodeBase64String('user:'.getBytes())]”“