On 19 August 2011 19:28, James Crow <james@xxxxxxxxxxxxx> wrote: > On Fri, 19 Aug 2011 17:30:27 +0100, Richard Quadling <rquadling@xxxxxxxxx> > wrote: >> On 19 August 2011 17:13, James Crow <james@xxxxxxxxxxxxx> wrote: >>> On Fri, 19 Aug 2011 16:33:43 +0100, Richard Quadling >>> <rquadling@xxxxxxxxx> >>> wrote: >>>> On 19 August 2011 16:16, James Crow <james@xxxxxxxxxxxxx> wrote: >>>>> Hi all, >>>>> >>>>> I am using the SOAP client to retrieve data from a web server. One >>> field >>>>> in the returned object is a text string that may contain embedded >>>>> carriage >>>>> returns. If I look at the raw packets they appear as ' >>> ' in the >>>>> string. >>>>> When I get the string in the SoapClient the carriage return has been >>>>> stripped. So far I have been unable to find a setting that will leave >>>>> this >>>>> embedded character in place. >>>>> >>>>> Can someone point me in the right direction? >>>>> >>>>> Thanks, >>>>> James >>>> >>>> Can you supply a WSDL URL for the service? I can quickly verify what >>>> you are seeing. >>>> >>>> Can you tell us how you perceive the missing character? If you are >>>> echoing it to a browser, then there will be no visual line break as >>>> that is not a HTML character. >>>> >>>> But if you wrap the output in <pre>...</pre> tags, you should see it >>> just >>>> fine. >>>> >>>> >>>> >>>> >>>> -- >>>> Richard Quadling >>>> Twitter : EE : Zend : PHPDoc >>>> @RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY : bit.ly/lFnVea >>> >>> Richard, >>> >>> Thanks for the response. My initial email appears garbled somewhat. >>> Between the single quotes should have been >>> >>> The WDSL is: >>> http://clients.mindbodyonline.com/api/0_5/AppointmentService.asmx?WSDL >>> >>> I am using functions which return (among other things) an Appointment >>> object. This Appointment object has a property named Notes. The Notes >>> item >>> in their software is displayed and edited in a html textarea field. If > a >>> newline is entered in the textarea field I need it to be present in the >>> string in the SoapClient. >>> >>> To actually connect to with a SOAP client requires a username and >>> password. >>> >>> Thanks, >>> James >>> >>> >> >> What you need to determine is the EXACT content. >> >> Can you dump the $o_Service->__getLastResponse() to a file, and zip it? >> >> I have a framework that I use to test SOAP services. It isn't 100% >> automatic, but it doesn't take too long. >> >> I've got it working as far as I can without the credentials. >> >> Hopefully you can add them in and the rest of the code should work. >> >> I assume it is just a SoapHeader you need to add. >> >> Running the consume.php script currently outputs ... >> >> Request Headers >> --------------- >> POST /api/0_5/AppointmentService.asmx HTTP/1.1 >> Host: clients.mindbodyonline.com >> Connection: Keep-Alive >> User-Agent: PHP >> Content-Type: text/xml; charset=utf-8 >> SOAPAction: "http://clients.mindbodyonline.com/api/0_5/GetScheduleItems" >> Content-Length: 742 >> >> >> Request (XML) >> ------------- >> <?xml version="1.0" encoding="utf-8"?> >> <SOAP-ENV:Envelope >> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> > xmlns:ns1="http://clients.mindbodyonline.com/api/0_5"> >> <SOAP-ENV:Body> >> <ns1:GetScheduleItems> >> <ns1:Request> >> <ns1:XMLDetail xsi:nil="true" /> >> <ns1:PageSize xsi:nil="true" /> >> <ns1:CurrentPageIndex xsi:nil="true" /> >> <ns1:LocationIDs> >> <ns1:int>1</ns1:int> >> <ns1:int>2</ns1:int> >> <ns1:int>3</ns1:int> >> </ns1:LocationIDs> >> <ns1:StaffIDs> >> <ns1:long>100</ns1:long> >> <ns1:long>200</ns1:long> >> <ns1:long>300</ns1:long> >> </ns1:StaffIDs> >> <ns1:StartDate>2011-01-01T00:00:00Z</ns1:StartDate> >> <ns1:EndDate>2011-12-31T23:59:59Z</ns1:EndDate> >> </ns1:Request> >> </ns1:GetScheduleItems> >> </SOAP-ENV:Body> >> </SOAP-ENV:Envelope> >> >> Response Headers >> ---------------- >> HTTP/1.1 200 OK >> Cache-Control: private, max-age=0 >> Content-Type: text/xml; charset=utf-8 >> Server: Microsoft-IIS/7.5 >> X-AspNet-Version: 2.0.50727 >> X-Powered-By: ASP.NET >> P3P: CAO DSP COR CUR TAIa OUR NOR UNI STA >> Date: Fri, 19 Aug 2011 16:28:44 GMT >> Content-Length: 614 >> >> Response (XML) >> -------------- >> <?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> >> <GetScheduleItemsResponse >> xmlns="http://clients.mindbodyonline.com/api/0_5"> >> <GetScheduleItemsResult> >> <Status>InvalidCredentials</Status> >> <Message>SourceCredentials must be provided.</Message> >> <XMLDetail>Full</XMLDetail> >> <ResultCount>0</ResultCount> >> <CurrentPageIndex>0</CurrentPageIndex> >> <TotalPageCount>0</TotalPageCount> >> </GetScheduleItemsResult> >> </GetScheduleItemsResponse> >> </soap:Body> >> </soap:Envelope> >> >> >> Response (Interpreted) >> ---------------------- >> GetScheduleItemsResult Object >> ( >> [StaffMembers] => >> [Status] => InvalidCredentials >> [Message] => SourceCredentials must be provided. >> [XMLDetail] => Full >> [ResultCount] => 0 >> [CurrentPageIndex] => 0 >> [TotalPageCount] => 0 >> ) > > I entered my login credentials in the consume.php script and changed it to > dump __getLastResponse() to a text file. I do not want to include the > entire file because it contains customer information, but I did look > through the file with vi. The Notes /Notes XMl items do not contain > embedded carriage returns or line feeds. I think this is a bug in the SOAP > service and not in the PHP SoapClient. > > Thanks, > James > > So, at this stage, proving the lack of the returns is all I can do. Are you responsible for the service? -- Richard Quadling Twitter : EE : Zend : PHPDoc @RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY : bit.ly/lFnVea -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php