- From: Youenn Fablet <youenn.fablet@crf.canon.fr>
- Date: Fri, 23 Feb 2007 11:40:31 +0100
- To: Jonathan Marsh <jonathan@wso2.com>, keith chapman <keithgchapman@gmail.com>
- Cc: www-ws-desc <www-ws-desc@w3.org>
- Message-id: <45DEC49F.4070801@crf.canon.fr>
Please find new exchange results in attachment. It contains a LocationTemplate-2G log based on fixed schema and wsdl (cf. previous mail on LocationTemplate-2G and attachment). I am still unable to have a successful EncodedPath binding exchange: it seems that the '\' character present in the data parameter value is breaking something on the server side. This occurs when it is present in the URI path even if it is %encoded. It works well when the '\' character is put in the query string though. When removed from the data parameter value, my client and server can talk correctly. Keith, did you have time to work on LocationTemplate-2G? Is it working fine? Regards, Youenn
<description xmlns="http://www.w3.org/2006/01/wsdl" targetNamespace="http://example.org/message-test" xmlns:tns="http://example.org/message-test" xmlns:wsoap="http://www.w3.org/2006/01/wsdl/soap" xmlns:wsdlx="http://www.w3.org/2006/01/wsdl-extensions" xmlns:whttp="http://www.w3.org/2006/01/wsdl/http" xmlns:path="http://example.org/path-data/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://www.w3.org/2003/05/soap-envelope"> <documentation><![CDATA[ This test exercises %-encoding during http templating. The constructReference is provided a structure (pathdata), and returns a URI corresponding to the structure, in particular, the URI constructed from the template. For test purposes, invoke the operation with the following structure: <pathdata xmlns="http://example.org/path-data/xsd"> <full-uri>http://www.example.org:9443/</full-uri> <path>2007/02?</path> <fragment>#id</fragment> <data>encoded "#%*/<>?[\]^`{|}£ unencoded !$&'()+,-.:;=@_~</data> </pathdata> When running a test pass against this WSDL, each endpoint should be invoked in order, and each operation within the interface bound by that binding should be invoked in the order it appears in the interface, extended interfaces first. ]]></documentation> <types> <xs:import namespace="http://example.org/path-data/xsd" schemaLocation="pathdata.xsd"/> </types> <interface name="ProbeData"> <documentation>This minimal interface defines a single operation which can be bound in a variety of ways.</documentation> <operation name="constructReference" pattern="http://www.w3.org/2006/01/wsdl/in-out" style="http://www.w3.org/2006/01/wsdl/style/iri"> <documentation>Simple probe service - pass in a query structure, get a uri constructed from that structure back.</documentation> <input element="path:pathdata"/> <output element="path:result"/> </operation> </interface> <binding name="EncodedParameterAmp" interface="tns:ProbeData" type="http://www.w3.org/2006/01/wsdl/soap" wsoap:version="1.2" wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP/"> <documentation> This binding tests the that parameters are encoded successfully, including & as a qps. Expect: http://example.org/EncodedParameter?data=encoded%20%22%23%25%2A%2F%3C%3E%3F%5B%5C%5D%5E%60%7B%7C%7D%C2%A3%20unencoded%20!$%26'()+,-.:;=@_~&full-uri=http://www.example.org:9443/&path=2007/02?&fragment=%23id </documentation> <operation ref="tns:constructReference" wsoap:mep="http://www.w3.org/2003/05/soap/mep/soap-response/" whttp:location="EncodedParameterAmp?data={data}" whttp:queryParameterSeparator="&"/> </binding> <binding name="EncodedParameterSemicolon" interface="tns:ProbeData" type="http://www.w3.org/2006/01/wsdl/soap" wsoap:version="1.2" wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP/"> <documentation> This binding tests the that parameters are encoded successfully, including ; as a qps. Expect: http://example.org/EncodedParameter?data=encoded%20%22%23%25%2A%2F%3C%3E%3F%5B%5C%5D%5E%60%7B%7C%7D%C2%A3%20unencoded%20!$&'()+,-.:%3B=@_~;full-uri=http://www.example.org:9443/;path=2007/02?;fragment=%23id </documentation> <operation ref="tns:constructReference" wsoap:mep="http://www.w3.org/2003/05/soap/mep/soap-response/" whttp:location="EncodedParameterSemicolon?data={data}" whttp:queryParameterSeparator=";"/> </binding> <binding name="RawParameter" interface="tns:ProbeData" type="http://www.w3.org/2006/01/wsdl/soap" wsoap:version="1.2" wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP/"> <documentation> This binding tests the that parameters can be inserted without encoding, in this case resulting in a fragment. Expect: http://example.org/RawParameter?full-uri=http://www.example.org:9443/&path=2007/02?&fragment=%23id&data=encoded%20%22%23%25%2A%2F%3C%3E%3F%5B%5C%5D%5E%60%7B%7C%7D%C2%A3%20unencoded%20!$%26'()+,-.:;=@_~#id </documentation> <operation ref="tns:constructReference" wsoap:mep="http://www.w3.org/2003/05/soap/mep/soap-response/" whttp:location="RawParameter?full-uri={full-uri}&path={path}&data={data}&fragment={!fragment}"/> </binding> <binding name="EncodedPath" interface="tns:ProbeData" type="http://www.w3.org/2006/01/wsdl/soap" wsoap:version="1.2" wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP/"> <documentation> This binding tests the path segments can be encoded properly. Expect: http://example.org/EncodedPath/encoded%20%22%23%25%2A%2F%3C%3E%3F%5B%5C%5D%5E%60%7B%7C%7D%C2%A3%20unencoded%20!$%26'()+,-.:;=@_~/service?full-uri=http://www.example.org:9443/&path=2007/02?&fragment=%23id </documentation> <operation ref="tns:constructReference" wsoap:mep="http://www.w3.org/2003/05/soap/mep/soap-response/" whttp:location="EncodedPath/{data}/service"/> </binding> <service name="ProbeDataService" interface="tns:ProbeData"> <documentation>Exercise each endpoint in order.</documentation> <endpoint name="EncodedParameterAmpEndpoing" binding="tns:EncodedParameterAmp" address="http://example.org/"/> <endpoint name="EncodedParameterSemicolonEndpoint" binding="tns:EncodedParameterSemicolon" address="http://example.org/"/> <endpoint name="RawParameterEndpoint" binding="tns:RawParameter" address="http://example.org/"/> <endpoint name="EncodedPathEndpoint" binding="tns:EncodedPath" address="http://example.org/"/> </service> </description>
Attachments
- application/x-zip-compressed attachment: logs-canon-canon-20070223.zip
- text/xml attachment: pathdata.xsd
Received on Friday, 23 February 2007 10:42:45 UTC