php - 如何在 PHP Curl 或 PHP Soapclient 中进行 XML 请求?
问题描述
我正在处理 PHP 中的 XML 请求。我们可以使用 PHP CURL 或 PHP SoapClient 发出请求吗?以下是一个示例 SOAP 1.2:
POST /max/member.asmx HTTP/1.1
Host: api.relateddigital.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<SendOngoingEMail xmlns="http://ws.euromsg.com/member">
<ServiceTicket>string</ServiceTicket>
<Key>string</Key>
<Value>string</Value>
<DemograficData>
<EmKeyValue>
<Key>string</Key>
<Value>string</Value>
</EmKeyValue>
<EmKeyValue>
<Key>string</Key>
<Value>string</Value>
</EmKeyValue>
</DemograficData>
<ForceUpdate>boolean</ForceUpdate>
<OngoingCampaignId>string</OngoingCampaignId>
</SendOngoingEMail>
</soap12:Body>
</soap12:Envelope>
解决方案
使用 WSDL,您可以使用原生 PHP SoapClient类。您必须传递 PHP 数组或结构良好的对象。
我强烈建议您使用 WSDL 到 PHP 生成器。这样,您将使用基于 WSDL 的合适 PHP SDK 以使用完全 OOP 方法。此外,您不会想知道如何构造请求。最后,由于生成的类,响应处理将得到缓解。
试试PackageGenerator项目。
推荐阅读
- c# - Xamarin.Forms:应用程序不在页面上显示元素
- apache-kafka - 如何配置 kafka 消费者,以便在自动缩放后获取的消息总数保持不变?
- django - 如何在 django 中间件中处理 POST 数据?
- java - 使用 Java Stream API 按其值过滤地图
- java - 如何在设备android上添加文件访问权限
- sql-server - 为什么 MSSQL 不支持指定为“CREATE DATABASE”语句一部分的“CHARACTER SET”?
- c# - 依赖注入作用域为瞬态,然后瞬态为单例
- python - 如何在python中直接从谷歌存储向客户端发送文件?
- flutter - 颤振:如何在 windows android studio 中使用 Cupertino(iOS 风格)小部件?
- json - 在 SQL Server 中选择带有嵌套 JSON 数组的过滤器