Soap WSO2:External WS从WSO2 ESB调用时返回错误400

Soap WSO2:External WS从WSO2 ESB调用时返回错误400,soap,wso2,wso2esb,Soap,Wso2,Wso2esb,您好:我正在尝试从WSO2服务访问外部WS。远程服务响应错误“400错误请求”,但未指定问题所在。奇怪的是,如果我抓取通过ESB发送的相同请求,并使用cURL发送,那么一切都正常 如果有区别,我将使用嵌入消息中的凭据的基本安全性(我使用javascript构建安全性头)。我已经尝试添加和删除我能找到的所有SOAP头,但没有任何效果 我认为ESB可能正在向消息中添加一些我在日志中看不到的内容。有人看过这个吗 我希望你能帮助我。。。如果需要更多信息,请告诉我。 谢谢 根据提供的信息,您可以在Wso2

您好:我正在尝试从WSO2服务访问外部WS。远程服务响应错误“400错误请求”,但未指定问题所在。奇怪的是,如果我抓取通过ESB发送的相同请求,并使用cURL发送,那么一切都正常

如果有区别,我将使用嵌入消息中的凭据的基本安全性(我使用javascript构建安全性头)。我已经尝试添加和删除我能找到的所有SOAP头,但没有任何效果

我认为ESB可能正在向消息中添加一些我在日志中看不到的内容。有人看过这个吗

我希望你能帮助我。。。如果需要更多信息,请告诉我。
谢谢

根据提供的信息,您可以在Wso2 ESB代理配置中使用“代理授权”属性来实现您的需求。有关更多信息,请参考文档[1]中提供的示例配置


[1] -

您可以执行以下操作来解决问题。最有可能的原因是,当请求发送到后端时,ESB添加了一些内容。您可以通过启用wire日志来检查消息和头值进出ESB


看看如何做。之后,您将能够比较ESB和CURL发送的头和有效负载。

只是为了解决这个问题,而不是说答案实际上有用:我们的问题是有人在主机配置中添加了一个规则,因此外部WS-IP被阻止与我们的一个ESB服务器连接

谢谢你的回答,苏珊卡。当你在中间有代理时,看起来这个解决方案适用,对吧?提到的用户名:密码是否对应于代理?如果是这样,那么这不是我们的情况。如果username:password对应于被调用的服务,那么我会在第一次机会尝试一下。谢谢谢谢你提供更多的信息。然后,您可以在ESB代理服务配置中使用“Authorization”属性,有关更多信息,请参阅blogpost[1]和[2]。[1]- [2]-