我正在研究一个需要与外部(商业)系统集成的系统。在我的网站上,我有一些信息,然后需要根据外部系统的记录进行检查。这是通过发布XML请求来完成的。
我无法理解他们的文件。他们给了我一些xml的例子,但我不知道该怎么做。有人可以帮忙吗?!我在网上找不到很多东西告诉我该怎么做。
我正在使用PHP,请求必须通过HTTPS发布。我给出的xml是(粗略 - 由于安全性而无法提供完整的详细信息):
<?xml version="1.0" standalone="no" ?>
<request>
<request_header interface_version_no="0.2" dtd_version_no="0.2">
<client_reference>Test Client</client_reference>
</request_header>
<service_request id="1">
<session_service>
<logon_request domain_id="******" user_id="******" password="******"/>
</session_service>
</service_request>
</request>
上面的代码应该让我登录他们的系统。所以,我的问题是:
谢谢!任何帮助表示赞赏。我在网上找不到多少(好吧,我可以找到负载,但似乎没有一个特定于我正在寻找的东西,所以我感到困惑),所以即使链接到相应的帮助页面也会很棒
答案 0 :(得分:3)
在PHP中发送HTTP请求通常使用curl extension来完成,curl_setopt()
提供了许多功能。
例如,请参阅allow_url_fopen
的页面,其中列出了可以与curl一起使用的所有选项 - 其中有一些可以帮助您,例如使用POSTing内容。
如果在您的服务器上启用file_get_contents()
,则另一种解决方案是使用PHP的流功能。
您可以使用HTTP context options函数,提供自定义上下文选项 - 请参阅此页:DOMDocument
(示例#1很有趣,在您的情况下;-))
如果您将XML作为响应,则必须解析该结果。
这通常是在PHP中使用SimpleXML
完成的,如果您需要大量修改或操作XML ......或者如果您只需要阅读XML并提取simplexml_load_string
那么它的一些数据。
在这里,您很可能需要使用{{3}}函数; - )