【发布时间】:2012-09-18 18:17:08
【问题描述】:
我是一位经验丰富的 PHP 程序员,但我实际上对 SOAP 一无所知。现在我必须使用它,因为我的客户需要自动生成 DHL 批次标签。我需要一些简单有效的帮助。
所以我向 DHL 发送了一个原始 XML 请求,我从他们的示例程序中复制了消息,但我总是得到一个空结果(没有错误)。我的 PHP 代码如下:
require_once('nusoap/lib/nusoap.php'); $endpoint = "https://test-intraship.dhl.com/intraship.57/jsp/Login_WS.jsp"; $client = new nusoap_client($endpoint, false); $msg = $client->serializeEnvelope("如前所述,消息只是被复制了,所以它一定没问题。 我也尝试了另一个端点:http://test-intraship.dhl.com/ws/1_0/ISService/DE.wsdl,但也没有结果(没有错误)。
请帮忙。
【问题讨论】:
-
您需要使用 nusoap 吗?如果没有,并且如果您使用的是 php 5,请尝试使用 php 的内置 soap 函数(soap_client)。它具有更好的错误报告,并且比用于 php 4 的 nusoap 稳定得多。
-
@Raidenace:如何使用 PHP5 发送原始 XML?我试过但它没有用,因为我不知道我应该写成“位置”和“URI”。在我的问题中,您可以看到这两个地址是什么。但是命名空间呢? DHL 文档非常糟糕。
-
我添加了一个答案,其中包含针对您发布的 WDL 的示例工作代码。看看..希望对您有所帮助!