首页 > 解决方案 > 如何使用 SOAP 1.2 和 WSDL 将 XML 作为请求发送给供应商并接收响应?

问题描述

明天我有一个测试要做(抱歉,通知时间太短了)。我似乎无法弄清楚如何将 XML 作为请求发送给供应商并接收响应?我应该在php中发送一个请求。将数据发送到客户端返回到服务器。我认为对于客户,我需要 2 行代码。第一行代码用于请求第二行代码用于响应。任何帮助将非常感激!

<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"
                 xmlns="http://www.opentravel.org/OTA/2003/05">
    <soap12:Body>
        <OTA_HotelAvailRQ SummaryOnly="true">
            <POS>
                <Source ISOCountry="BRL">
                    <RequestorID ID_Context="txml" MessagePassword="txml">
                    </RequestorID>
                </Source>
            </POS>
            <AvailRequestSegments>
                <AvailRequestSegment>
                    <StayDateRange Start="2015-09-07" End="2015-09-09" />
                    <RoomStayCandidates>
                        <RoomStayCandidate>
                            <GuestCounts>
                                <GuestCount AgeQualifyingCode="10" Count="2"/>
                                <GuestCount AgeQualifyingCode="8" Count="1" Age="4" />
                            </GuestCounts>
                        </RoomStayCandidate>
                    </RoomStayCandidates>
                    <HotelSearchCriteria>
                        <Criterion>
                            <Address>
                                <CityName>Berlin</CityName>
                                <StateProv StateCode="" />
                            </Address>
                            <HotelRef HotelCode="0" PropertyClassCode=""/>
                            <RoomStayCandidates>
                                <RoomStayCandidate RoomType="" RoomTypeCode="" RoomLocationCode="" 
                                                   RoomViewCode="">
                                </RoomStayCandidate>
                            </RoomStayCandidates>
                            <MealPlan Code=" "/>
                        </Criterion>
                    </HotelSearchCriteria>
                </AvailRequestSegment>
            </AvailRequestSegments>
        </OTA_HotelAvailRQ>
    </soap12:Body>
</soap12:Envelope>


 Thanks in advance! I am using SOAP 1.2 WSDL, php and XML

标签: phpxml

解决方案


您可以使用 PHP: SoapClient 类来解决您的问题:

http://php.net/manual/en/class.soapclient.php

您可以在线找到几个使用 PHP Soap Client 类库发送 XML 请求和接收 XML 响应的代码示例。


推荐阅读