我想阅读来自.NET WinForms应用程序的SOAP请求。
请求是:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<HotelPricesRQ xmlns="http://zelsoft.ru/">
<HotelPricesRequest>
<Requestor Login="ZLS" Password="DE52F10D5089096E5D83CA559153D64824AAB0B4" />
<Conditions>
<Condition CityID="0" CountryID="0" HotelID="0" AccommodationID="0" RoomCategoryID="0" RoomTypeID="0">
<Created Begin="2013-10-31T00:00:00" End="2013-10-31T23:59:00+04:00" />
</Condition>
</Conditions>
</HotelPricesRequest>
</HotelPricesRQ>
</soap:Body>
</soap:Envelope>
那么如何获取请求者的登录名,密码和创建开始日期? 我实际上已经构建了响应,我们已经对它进行了测试,当他们向我发送请求时,他们得到了响应。我只是在没有阅读请求的情况下发送响应,但我必须阅读它并登录不同的用户并发送不同的响应。因此,我上面发布的请求的一个真实例子将非常受欢迎。
答案 0 :(得分:0)
我不知道为什么我不写当时为了阅读请求而返回的解决方案, 但是在这里,以防万一有人需要它:
$soap_request = file_get_contents("php://input");
然后我就用PHP XML解析器函数解析它,如下所示:
$parser=xml_parser_create();
xml_parse_into_struct($parser,$soap_request,$request_array);
xml_parser_free($parser);
现在您将$request_array
中的数据作为数组了。
您还可以使用SimpleXMLElement
类从请求中获取数据。