如何在php中使用soap发送xml请求?

2024-02-12

我正在开发一个新项目,对于这个项目我必须使用 SOAP。我对这个 SOAP 很陌生。 我红色了我的项目文档。在该文档中它有 WSDL 和 XML 请求。通过使用 Boath WSDL 和 XML 请求,我如何发送 XML 请求。下面我正在编写 WSDL 和 XML 请求。请帮我。

谢谢。


WSDL:

http://acceptance.travelstreet.com/hotelsv3/components/hotels_ws.cfc?wsdl http://acceptance.travelstreet.com/hotelsv3/components/hotels_ws.cfc?wsdl

XML 请求:

<?xml version="1.0" encoding="utf-8"?>
<OTA_HotelAvailRQ Version="1.0">
   <POS>
    <Source>
     <UniqueId Id="username:password" />
    </Source>
   </POS>
   <AvailRequestSegments>
    <AvailRequestSegment>
     <StayDateRange End="2011-08-15" Start="2011-08-14" />
     <RoomStayCandidates>
      <RoomStayCandidate Quantity="1">
       <GuestCounts>
        <GuestCount AgeQualifyingCode="10" Count="1" />
       </GuestCounts>
      </RoomStayCandidate>
     </RoomStayCandidates>
     <HotelSearchCriteria>
      <Criterion>
       <HotelRef Destination="East London, South Africa" CityCode="" CountryCode="" HotelName="" MinHotelRating="1"/>
       <SearchCurrency>EUR</SearchCurrency>
       <AdditionalInfo Value="1" />
       <Language>EN</Language>
      </Criterion>
     </HotelSearchCriteria>
    </AvailRequestSegment>
   </AvailRequestSegments>
  </OTA_HotelAvailRQ>

我建议你阅读有关PHP SoapClient http://www.php.net/manual/en/soapclient.soapclient.php。 PHP 手册中有很多很好的例子。

首先,创建对象:

$client = new SoapClient('http://www.example.com/end_point.wsdl');

然后调用该方法:

$result = $client->SomeFunction($data);

where SomeFunction是您要在服务上调用的方法名称,$data 是一个 PHP 数组,表示您要发送的 XML 数据结构。

希望有帮助。

[编辑] 只是为了根据OP的进一步问题进行澄清:

使用 PHP SOAPClient 时不需要创建实际的 XML 代码。您需要将数据放入 PHP 数组中,SOAPClient 将为您将其转换为 XML。数组键应根据 XML 元素名称命名,数组值是元素值。对嵌套 XML 元素使用嵌套数组。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在php中使用soap发送xml请求? 的相关文章

  • Android:是否可以在可绘制选择器中使用字符串/枚举?

    问题 Q1 有人设法让自定义字符串 枚举属性在 xml 选择器中工作吗 我通过以下 1 获得了一个布尔属性 但不是字符串属性 编辑 感谢您的回答 目前 android 仅支持布尔选择器 原因请参阅已接受的答案 我计划实现一个复杂的自定义按钮
  • Yii2:无法将列值更新+1

    创建新记录时 我需要将列值更新 1 public function actionCreate model new CreateBookings if model gt load Yii app gt request gt post Yii
  • 无法从 XML 获取数组字符串资源

    我的 XML 文件中有一个值列表 我想根据微调器选择来选择这些值 由于某种原因 使用数组字符串作为微调器可以正常工作 这些值将填充到微调器中 无论出于何种原因 我无法获取第二个数组的值来挽救我的生命 它们位于同一个文件中 没有我能找到的错误
  • 表头在 php 中的 for 循环中重复

    我正在尝试从数据库创建排行榜 我将数据打印在列表中 当我尝试将此数据放入 html 表中时 标题在每次数据输入后都会重复 这是 for 循环导致的 但我不知道如何只打印一次标题 然后将数据插入到每一行中 任何帮助将不胜感激 代码和结果的屏幕
  • SCORM 与 PHP/Yii 的集成 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 实际上我是新手SCORMPHP 中的实现 理论上 我在这里提问之前已经介绍了这些领域 已经看过了维基百科 http en wikipedia
  • 如何在 C# 中从 wsdl SOAP 请求信封开始

    我需要在 Web 服务上调用操作 但我不知道请求信封是什么样的 服务由用户在运行时附加 一般来说 我想基于 wsdl 链接以编程方式生成肥皂信封 使用给定的链接获取操作列表以及特定操作的结果
  • $_POST 返回空

    尝试练习一下 ajax 和 PHP 我不明白为什么每当我发送一些东西时 它都会返回空或未定义的索引 PHP 返回空 JS form submit function var meth this attr action var msg msg
  • SMTP:无法连接套接字:无法找到套接字传输“ssl”

    我一直在尝试在 WAMP 上使用 Pear 发送电子邮件通过 GMail 花了几个小时将其全部设置并找出我遇到的所有错误后 我以为我已经很接近了 直到我开始收到此错误 Failed to connect to ssl smtp gmail
  • 正确显示mySQL一对多查询结果

    我有两张桌子 TRIPS tripID clientID and LEGS legID depart arrive tripID TRIPS 与 LEGS 具有一对多关系 因为有多个legID s per tripID 我需要以以下格式显示
  • 通过php变量的值设置输入字段的值

    我有一个简单的 php 计算器 代码是 h1 align center This is PHP Calculator h1
  • Mysqli get_result替代方案

    我刚刚将所有 sql 查询更改为使用 mysqli 准备好的语句 为了加快这个过程 我创建了一个函数 称为performQuery 取代mysql query 它需要传入查询 绑定 如 sdss 和变量 然后执行所有准备好的语句 这意味着更
  • 正则表达式 - 剥离非数字并删除分(如果有)

    我目前正在开发一个 PHP 项目 需要一些正则表达式的帮助 我希望能够获取用户输入的货币值并删除所有非数字和小数位 分 Ex 2 000 00 到 2000 2 000 00 美元 到 2000 2abc000 到 2000 2 000 到
  • Elasticquent(ElasticSearch) Laravel 限制

    您好 我尝试使用 elasticSearch 查询获取所有结果 但如果 limit 值为 null 则仅返回 10 个结果 videos Video searchByQuery match gt field gt request gt fi
  • PHP strtotime +1 个月添加额外一个月[重复]

    这个问题在这里已经有答案了 我有一个简单的变量 可以将今天添加一个月 endOfCycle date Y m strtotime 1 month 今天是 2013 年 1 月 所以我希望返回 2013 02 但我得到的是 2013 03 我
  • Mysql为简单频繁查询创建排序索引性能

    我正在处理一个包含大约 400 万条消息条目的 mysql 表 并尝试根据时间戳选择最新的 50 条消息 另一个要求是返回的消息不以固定前缀开头 问题是单个查询大约占用 25 的 cpu 并且最多需要 1 5 秒 该查询经常由多个客户端执行
  • 将屏幕宽度获取到 javascript 变量中并通过 ajax 将其发送到 php 页面以避免页面加载

    这是JS检测我的页面命名上的屏幕分辨率index html并将其发送到 php 以便可以使用以下方式检索值 GET 这是我的PHP文件命名的内容process php
  • Java XML 解析器添加不必要的 xmlns 和 xml:space 属性

    我在 Windows 10 上使用 Java 11 AdoptOpenJDK 11 0 5 2019 10 15 我正在解析一些旧版 XHTML 1 1 文件 这些文件采用以下一般形式
  • 我可以在类变量中添加没有指定值的 PHP 数组键吗?

    我目前正在努力通过IBM 关于 CakePHP 的教程 http www 128 ibm com developerworks edu os dw os php cake1 html 有一次我遇到了这段代码
  • 使用 file_get_contents 在 php 中进行屏幕缩放

    嗨 我对屏幕抓取很陌生 我正在尝试从酒店预订网站上抓取评论以显示在我的网站上 我已经走到这一步了 但有点卡住了 有人可以帮忙吗 use 文档 http php net manual en class domdocument ph
  • 有没有办法重置特定类的所有静态属性?

    您可能知道 静态属性使测试变得困难 有没有办法将特定类的所有静态属性重置回其初始状态 理想情况下 这不需要为每个类定制代码 但可以通过继承以通用方式使用 或者完全从类外部使用 请不要回复 不要使用静态属性 之类的内容 谢谢 假设您正在使用

随机推荐