By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
432,369 Members | 950 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 432,369 IT Pros & Developers. It's quick & easy.

SOAP interface query

P: n/a
I've got a problem with a PHP program that i've written using the
standard SOAP client with a WSDL file.
When calling one of the functions on the SOAP server i'm occasionally
receiving a response containing a pound sign encoded as £. This
causes my program to report 'Looks like we got no XML document' and not
process the response.
The SOAP server is provided by a third party and appears to be Perl
SOAPLite. They insist that the pound is being encoded correctly.

I'm using PHP 5.1.4 from the command line running on Windows 2000.
Is there any way around this problem?
Thanks in advance,
Stephen

Jun 30 '06 #1
Share this Question
Share on Google+
6 Replies


P: n/a
Stephen wrote:
I've got a problem with a PHP program that i've written using the
standard SOAP client with a WSDL file.
When calling one of the functions on the SOAP server i'm occasionally
receiving a response containing a pound sign encoded as £. This
causes my program to report 'Looks like we got no XML document' and not
process the response.
The SOAP server is provided by a third party and appears to be Perl
SOAPLite. They insist that the pound is being encoded correctly.

I'm using PHP 5.1.4 from the command line running on Windows 2000.
Is there any way around this problem?
Thanks in advance,
Stephen

Stephen,
Try using nuSOAP instead. I know it's a bit of a pain to switch, but I
found nuSOAP works a little bit better with the perl SOAP implementation.

-david-

Jun 30 '06 #2

P: n/a

David Haynes wote:
Stephen wrote:
I've got a problem with a PHP program that i've written using the
standard SOAP client with a WSDL file.
When calling one of the functions on the SOAP server i'm occasionally
receiving a response containing a pound sign encoded as £. This
causes my program to report 'Looks like we got no XML document' and not
process the response.
The SOAP server is provided by a third party and appears to be Perl
SOAPLite. They insist that the pound is being encoded correctly.

I'm using PHP 5.1.4 from the command line running on Windows 2000.
Is there any way around this problem?
Thanks in advance,
Stephen

Stephen,
Try using nuSOAP instead. I know it's a bit of a pain to switch, but I
found nuSOAP works a little bit better with the perl SOAP implementation.

-david-

Thanks. I'll give nuSOAP a try.

regards,
Stephen

Jun 30 '06 #3

P: n/a

Stephen wote:
David Haynes wote:
Stephen wrote:
I've got a problem with a PHP program that i've written using the
standard SOAP client with a WSDL file.
When calling one of the functions on the SOAP server i'm occasionally
receiving a response containing a pound sign encoded as £. This
causes my program to report 'Looks like we got no XML document' and not
process the response.
The SOAP server is provided by a third party and appears to be Perl
SOAPLite. They insist that the pound is being encoded correctly.
>
I'm using PHP 5.1.4 from the command line running on Windows 2000.
>
>
Is there any way around this problem?
>
>
Thanks in advance,
Stephen
>
Stephen,
Try using nuSOAP instead. I know it's a bit of a pain to switch, but I
found nuSOAP works a little bit better with the perl SOAP implementation.

-david-


Thanks. I'll give nuSOAP a try.

regards,
Stephen
I've had a go with nuSOAP and i'm still having no joy. The function
call returns false when I try to bring back the request containing the
pound sign.

The offending line looks like this:

<commentText xsi:type="xsd:string">this is a &pound; pound
sign</commentText>

The xml headers on the response file are:

<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

regards,
Stephen

Jul 3 '06 #4

P: n/a
Stephen wrote:
Stephen wote:
>David Haynes wote:
>>Stephen wrote:
I've got a problem with a PHP program that i've written using the
standard SOAP client with a WSDL file.
When calling one of the functions on the SOAP server i'm occasionally
receiving a response containing a pound sign encoded as &pound;. This
causes my program to report 'Looks like we got no XML document' and not
process the response.
The SOAP server is provided by a third party and appears to be Perl
SOAPLite. They insist that the pound is being encoded correctly.

I'm using PHP 5.1.4 from the command line running on Windows 2000.
Is there any way around this problem?
Thanks in advance,
Stephen

Stephen,
Try using nuSOAP instead. I know it's a bit of a pain to switch, but I
found nuSOAP works a little bit better with the perl SOAP implementation.

-david-

Thanks. I'll give nuSOAP a try.

regards,
Stephen

I've had a go with nuSOAP and i'm still having no joy. The function
call returns false when I try to bring back the request containing the
pound sign.

The offending line looks like this:

<commentText xsi:type="xsd:string">this is a &pound; pound
sign</commentText>

The xml headers on the response file are:

<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

regards,
Stephen
A couple of things to try then:
1. set encoding="iso-8859-1" instead of "UTF-8"
2. encode your pound sign as &#A3; or £

-david-

Jul 3 '06 #5

P: n/a

David Haynes wote:
Stephen wrote:
Stephen wote:
David Haynes wote:
Stephen wrote:
I've got a problem with a PHP program that i've written using the
standard SOAP client with a WSDL file.
When calling one of the functions on the SOAP server i'm occasionally
receiving a response containing a pound sign encoded as &pound;. This
causes my program to report 'Looks like we got no XML document' and not
process the response.
The SOAP server is provided by a third party and appears to be Perl
SOAPLite. They insist that the pound is being encoded correctly.

I'm using PHP 5.1.4 from the command line running on Windows 2000.
Is there any way around this problem?
Thanks in advance,
Stephen

Stephen,
Try using nuSOAP instead. I know it's a bit of a pain to switch, but I
found nuSOAP works a little bit better with the perl SOAP implementation.

-david-

Thanks. I'll give nuSOAP a try.

regards,
Stephen
I've had a go with nuSOAP and i'm still having no joy. The function
call returns false when I try to bring back the request containing the
pound sign.

The offending line looks like this:

<commentText xsi:type="xsd:string">this is a &pound; pound
sign</commentText>

The xml headers on the response file are:

<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

regards,
Stephen
A couple of things to try then:
1. set encoding="iso-8859-1" instead of "UTF-8"
2. encode your pound sign as &#A3; or £

-david-
The second option would work if I could persuade the provider of the
SOAP server to change their code which is a no-goer unfortunately.
Is there a way of encoding the pound sign within the WSDL file on the
client side?

regards,
Stephen

Jul 3 '06 #6

P: n/a
Stephen wrote:
David Haynes wote:
>Stephen wrote:
>>Stephen wote:
David Haynes wote:
Stephen wrote:
>I've got a problem with a PHP program that i've written using the
>standard SOAP client with a WSDL file.
>When calling one of the functions on the SOAP server i'm occasionally
>receiving a response containing a pound sign encoded as &pound;. This
>causes my program to report 'Looks like we got no XML document' and not
>process the response.
>The SOAP server is provided by a third party and appears to be Perl
>SOAPLite. They insist that the pound is being encoded correctly.
>>
>I'm using PHP 5.1.4 from the command line running on Windows 2000.
>>
>>
>Is there any way around this problem?
>>
>>
>Thanks in advance,
>Stephen
>>
Stephen,
Try using nuSOAP instead. I know it's a bit of a pain to switch, but I
found nuSOAP works a little bit better with the perl SOAP implementation.
>
-david-
Thanks. I'll give nuSOAP a try.

regards,
Stephen
I've had a go with nuSOAP and i'm still having no joy. The function
call returns false when I try to bring back the request containing the
pound sign.

The offending line looks like this:

<commentText xsi:type="xsd:string">this is a &pound; pound
sign</commentText>

The xml headers on the response file are:

<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

regards,
Stephen
A couple of things to try then:
1. set encoding="iso-8859-1" instead of "UTF-8"
2. encode your pound sign as &#A3; or £

-david-

The second option would work if I could persuade the provider of the
SOAP server to change their code which is a no-goer unfortunately.
Is there a way of encoding the pound sign within the WSDL file on the
client side?

regards,
Stephen
Not that I know of but I am not a SOAP/WSDL expert.

Just so you know, this issue is not unique to PHP. There are a whack of
posts in the various Java and SOAP forums about this problem.

The consensus seems to be that &pound; is only supported under certain
character encoding schemes and that specifying the encoding to
iso-8859-1 seems to help providing that the SOAP parser honours the
encoding attribute.

Jul 3 '06 #7

This discussion thread is closed

Replies have been disabled for this discussion.