PHP XML-RPC服务器返回代码/错误未在Perl XML-RPC客户端中显示

PHP XML-RPC服务器返回代码/错误未在Perl XML-RPC客户端中显示,php,xml,perl,xml-rpc,Php,Xml,Perl,Xml Rpc,我对XML-RPC有一个奇怪的问题 我需要使用一个现有的商业XML-RPC API,它用PHP编写的非常糟糕,我必须用可怕的文档从Perl脚本中添加。我已经尝试了所有Perl XML-RPC模块,我可以找到Frontier::Client、XML::RPC、RPC::XML,但通常会发生这种情况: 当我的呼叫成功时,我得到了结果,没有任何问题 如果不是因为任何原因——身份验证失败、参数丢失/错误,我什么也得不到。空响应使用Frontier::Client时,表示500内部服务器错误,没有任何错误

我对XML-RPC有一个奇怪的问题

我需要使用一个现有的商业XML-RPC API,它用PHP编写的非常糟糕,我必须用可怕的文档从Perl脚本中添加。我已经尝试了所有Perl XML-RPC模块,我可以找到Frontier::Client、XML::RPC、RPC::XML,但通常会发生这种情况:

当我的呼叫成功时,我得到了结果,没有任何问题

如果不是因为任何原因——身份验证失败、参数丢失/错误,我什么也得不到。空响应使用Frontier::Client时,表示500内部服务器错误,没有任何错误代码/消息

但是,当我使用商业API的供应商发送给我的PHP测试文件时,使用相同的方法和参数,我得到了一个响应代码和一个响应消息,虽然很少有用,但仍然有用

对此有什么解释?他们在服务器端使用的库以某种奇怪的方式输出错误?注意:我认为他们使用xmlrpc-2.2.2,至少在测试PHP文件的客户端上使用了xmlrpc-2.2.2。这是一个示例XML响应,其中包含一个从PHP客户端得到的错误

要求 0 协同反应 -28 消息应答 验证l'电子邮件取消验证
它是用法语写的,但你会明白要点的。为什么无论我使用什么库,它都正确地出现在PHP中,而不是我的Perl脚本中?如果不告诉API供应商正确地重写他们的代码,有什么办法可以解决这个问题吗?

好的,事实证明XML-RPC服务器非常挑剔,需要一组头文件和cookie才能工作,而大多数头文件和cookie都是无用的,否则它什么也不输出

我们需要看一些代码才能有机会回答我的问题。你能从API中获取原始XML吗?正如我试图指出的,代码有点不相关。我没有访问API的代码,我的代码只不过是来自三个不同模块的简单调用方法。至于测试PHP脚本,它还包含最简单的客户端声明、参数绑定和调用。这两个脚本的输出XML几乎相同,PHP生成的XML中多了几个换行符,但我真的不认为这有什么关系。此外,我尝试过发布PHP脚本输出的数据,该脚本使用CURL,但仍然没有幸运的空响应。