PHP SoapClient将Array转换为String
发布时间:2020-12-13 22:31:17 所属栏目:PHP教程 来源:网络整理
导读:另一个SOAP问题 – 我有一个大的多维数组,当使用print_r时回显很好(例如,你可以看到所有的数据).我使用时会出现问题 SOAPClient-__soapCall('Function',array('paramaters' = $feedUpload)); 这实际上返回一个如下所示的xml :(使用__getLastRequest) soap-en
另一个SOAP问题 – 我有一个大的多维数组,当使用print_r时回显很好(例如,你可以看到所有的数据).我使用时会出现问题
SOAPClient->__soapCall('Function',array('paramaters' => $feedUpload)); 这实际上返回一个如下所示的xml :(使用__getLastRequest) <soap-env:envelope xmlns:ns1="http://www.property24.com/prosol/P24Feed" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:body> <ns1:uploadlistings> <ns1:feedupload> <ns1:version>1</ns1:version> <ns1:usertoken> <ns1:token>3c7b39ea-c10b-451f-95bf-5118d84fb089</ns1:token> </ns1:usertoken> <ns1:command>UPLOAD</ns1:command> <ns1:compress>None</ns1:compress> <ns1:listings> <ns1:listing> <ns1:listingnumber>361000001</ns1:listingnumber> <ns1:propertycategory>SR</ns1:propertycategory> <ns1:listingdata>Array</ns1:listingdata> <ns1:listingtype>A</ns1:listingtype> </ns1:listing> </ns1:listings> </ns1:feedupload> </ns1:uploadlistings> </soap-env:body> </soap-env:envelope> 如您所见,对于ListingData,它返回“Array”.这是数组模式: Array ( [parameters] => Array ( [FeedUpload] => Array ( [Version] => 1 [UserToken] => Array ( [Token] => 5ece25e7-77d9-4dbf-8b8f-e047759ab8f4 ) [Command] => UPLOAD [Compress] => None [Listings] => Array ( [Listing] => Array ( [PropertyCategory] => SR [ListingNumber] => 361000001 [ListingType] => A [ListingData] => Array ( [MandateDetails] => Array ( [ListingNumber] => 361000001 [ListingType] => A [MandateType] => O [ClosedUserGroup] => C [MarketCode] => A [ListPrice] => 111000 [OccupationDate] => [OffMarketDate] => [OnMarketSince] => [ExpiryDate] => 2011-07-13T09:56:14Z [ListDate] => 2011-07-13T09:51:14Z [UpdateDate] => 2011-07-13T09:51:14Z [VirtualTourUrl] => [ActualDirections] => [ShowHouseDirection] => [ViewComments] => [InternetComments] => Excellent stand situated on the flood plane with large riverine trees and great mountain views. The estate is situated along the world renowned Blyde River and is 394 ha in extent with only 154 sites on 4000 square metres. The estate has an array of plains game such as antelope,giraffe and wildebeest as well as hippo and crocodile. The riverine flood plain provides great birding opportunities such as the Pels fishing owl. There is a restaurant and clubhouse that serves meals and cocktails and offers ) [PropertyDetails] => Array ( [PropertyCategory] => SR [PropertyType] => SRX [Status] => ACTV [Province] => Eastern Cape [Town] => Aberdeen [Suburb] => Balvinie [StreetName] => Test Street [StreetNumber] => 5 [PostalCode] => 0123 [ErfSize] => 1200 [HouseSize] => [Age] => [OwnerType] => G [VATRegistered] => false [MunicipalRatesAndTaxes] => 0 [MunicipalImprovementsValue] => 0 [MunicipalLandValue] => 0 [MunicipalTotalValue] => 0 [StandNumber] => [StandNumberSubdivided] => [PortionNumber] => [OwnerShipType] => ) [ResidentialDetails] => Array ( [NoOfBathrooms] => 2 [BathroomDescription] => [NoOfBedrooms] => 6 [BedroomDescription] => [NoOfKitchens] => 2 [KitchenDescription] => [NoOfReceptionRooms] => 2 [ReceptionRoomDescription] => [NoOfStudies] => 1 [StudiesDescription] => [NoOfDomesticBathrooms] => 2 [NoOfDomesticRooms] => 0 [DomesticRoomsDescription] => [NoOfGarages] => 0 [GarageDescription] => [NoOfOutsideToilets] => 0 [Coverage] => 0 [Pool] => false [PoolDescription] => [Flatlet] => [FlatletDescription] => [FlatletSize] => [EstablishedGarden] => [OutBuildingSize] => [NoOfCarports] => 0 [CarportsDescription] => [ParkingBayNumber] => [Parking] => [ParkingDescription] => [BusinessRights] => [HeightRestrictions] => [CommonFeatures] => [NumberOfShares] => [FacingOptions] => [KitchenOptions] => [FeatureOptions] => [SpecialFeatureOptions] => [WallOptions] => [WindowOptions] => [StyleOptions] => [TemperatureControlOptions] => [SecurityOptions] => [RoofOptions] => [RoomOptions] => [PoolOptions] => [BathroomOptions] => ) [AgentDetails] => Array ( [InternetAgentName] => Ricky Duckworth [InternetAgentPhoneNumber] => 0157931534 [InternetAgentEmailAddress] => ricky@propertylogic.net [InternetAgentSMSNumber] => 0796057834 [ListingAgentCode] => CN21 [ListingAgencyCode] => CWP021 ) ) ) ) ) ) ) 如您所见,阵列结构正常.这就像SoapRequest已经深入到阵列并停止了.我也收到了通知 Notice: Array to string conversion in /var/www/vhosts/propertylogic.net/httpdocs/soap_feed/property24/add_property.php on line 178 哪个是SOAPCall行. 非常感谢! 编辑 [编辑]好的,基本上SOAP服务器请求该部分是原始的xml,所以我不得不用一个字符串替换数组 – 一种愚蠢的做事方式,但错误信息现在是有意义的! (不能回答我自己的问题). 解决方法
您最好生成并使用WSDL来创建SOAP客户端并在那里定义复杂类型.这样,每种SOAP类型都将以自然的方式转换为PHP类型(在您的示例中,它将是一个对象数组).
或者你可以像你一样用字符串替换数组,尽管这是一个肮脏的魔法:) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |