problem sending text in complexType with mixed=true attribute

[email protected] (Jon Wagoner)
Newsgroups php.soap
Organization Red Cheetah Software
Message-ID <[email protected]>
Hello,

The definition of the type from the wsdl is:

<s:complexType name="LocalizedProductText">
  <s:annotation>
    <s:documentation>
      One locale's descriptions and marketing info for a product.
    </s:documentation>
  </s:annotation>
  <s:sequence maxOccurs="1" minOccurs="1">
    <s:element name="descriptions" type="tns:CustomDescriptions"/>
    <s:element name="marketingDescription" type="tns:MarketingDescription"/>
  </s:sequence>
  <s:attribute name="language" type="s:string" use="required"/>
  <s:attribute name="country" type="s:string" use="required"/>
</s:complexType>

<s:complexType name="CustomDescriptions">
  <s:annotation>
    <s:documentation>A collection of descriptions for the 
      product.
    </s:documentation>
  </s:annotation>
  <s:sequence>
    <s:element maxOccurs="unbounded" minOccurs="0" name="description" 
type="tns:CustomDescription"/>
  </s:sequence>
</s:complexType>

<s:complexType mixed="true" name="CustomDescription">
  <s:annotation>
    <s:documentation>
	One of several possible descriptions for this product. A product description 	
	has a type and a text description. The text is in the	body of this element.
    </s:documentation>
  </s:annotation>
  <s:attribute name="type" type="s:int">
    <s:annotation>
      <s:documentation>Product types like 1, 2, 3, etc.</s:documentation>
    </s:annotation>
  </s:attribute>
</s:complexType>

<s:complexType mixed="true" name="MarketingDescription">
  <s:annotation>
    <s:documentation>HTML text that describes the product's 
features.</s:documentation>
  </s:annotation>
</s:complexType>

If I have $data = array(
  'language' => 'en',
  'country' => 'us',
  'description's => array(
    0 => array(
      'type' => 2,
      'text here'
    )
  ),
  'marketingDescription' => 'description goes here'
);

I am ending up with the following in the request:

<ns1:locale language="en" country="us"><ns1:descriptions><ns1:description 
type="2"/></ns1:descriptions><ns1:marketingDescription/></ns1:locale>

However, it should look like:
<ns1:locale language="en" country="us"><ns1:descriptions><ns1:description 
type="2">text 
here</ns1:description></ns1:descriptions><ns1:marketingDescription>description 
goes here</ns1:marketingDescription></ns1:locale>

As you can see, marketingDescription is empty, and for the other description 
the type is pulled in, but not the text.  How do I need to stucture the 
request get it to work right?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.