Welcome to the "trac"-ing site of soap4r!
[soap4r] [httpclient] [openpgp4u] [pkcs1] [logger] [csv] [vtr]

Ticket #230 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

arrayType default namespace seems wrong

Reported by: cbang <at> gmx <dot> net Assigned to: nahi
Priority: low Milestone: 1.5.6
Component: soap4r Version: 1.5
Keywords: Cc:

Description

When you have a wsdl document with

<xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="knownproduct[]"/>

you can see that the arrayType attribute has no namespace. In this case the implementation in lib/wsdl/xmlSchema/attribute.rb:109 (svn revision 1681) uses the XSD::Namespace and not the targetnamespace. I believe one should use the targetnamespace in this case.

The WS where I found this example is http://www.fold1.com/SOAP/foldcalc.php?wsdl However they have a bug?! that another line states

<xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>

with string meaning xsd:string and targetNamespace="urn:fold".

For arrayType see http://www.w3.org/TR/wsdl.

Proposal: Replace

XSD::QName.new(XSD::Namespace, value.source)

by

XSD::QName.new(targetnamespace, value.source)

Change History

08/07/06 13:15:24 changed by nahi

  • priority changed from normal to low.

Hi,

Thank you for posting the ticket.

I think that a value of an arrayType attribute should be treated as the same as a value of a type attribute. According to line lib/wsdl/xmlSchema/attribute.rb:102, the line 108 should be as follows.

  @arraytype = value

(Maybe I forgot to remove this workaround code)

I think 2 arrayType definition of the WSDL should be fixed.

08/09/06 21:39:14 changed by nahi

  • version set to 1.5.
  • milestone changed from undefined to 1.5.6.

08/09/06 21:40:52 changed by nahi

  • status changed from new to closed.
  • resolution set to fixed.

(In [1700]) change namespace handling of a value of arrayType attribute same as a value of type attribute. fixed #230.