Return

2009-04-14 15 views
1

ich mit folgendem Problem bin zu kämpfen:Return

ich einen PHP-basierte Web-Service habe, die von verschiedenen Kunden verbraucht werden muss. Solange ich die Dinge einfach halte, funktioniert alles gut. Ich dachte, dass Axis2 und .NET weiß nicht, wie soapenc:array Definitionen in WSDL, so habe ich Listentypen für die Zuordnung von Objekt-Arrays:

<xsd:complexType name="CourseList"> 
    <xsd:sequence> 
    <xsd:element name="Courses" type="tns:Course" minOccurs="0" maxOccurs="unbounded"/> 
    </xsd:sequence> 
</xsd:complexType> 

Nun, wenn ich so etwas wie eine Liste der CourseLists (mit der gleichen WSDL Verfahren umfassen), .NET schlägt fehl, da Axis2 (ADB) mit der Verarbeitung dieser Daten fertig wird. Ich überprüfte die XML, die mit soapUI über den Draht kommt; es sieht vernünftig aus.

Ich bin wirklich in den Seilen mit diesem. Jeder Hinweis würde sehr geschätzt werden.

TIA

KB22 

Antwort

2

Diese Frage ist älter als die Sünde, aber es wird nie beantwortet worden, und ich versuchte, eine Antwort, mich zu finden, als ich vor kurzem in das gleiche Problem lief. Es könnte einen besseren Weg geben, dies zu tun, aber was ich letztendlich getan habe, war so etwas.

Dies ist eigentlich sogar eine Ebene weiter, eine 3-d-Array, aber das allgemeine Prinzip ist das gleiche.

<xs:element name="myOtherArray"> 
<xs:complexType> 
    <xs:sequence> 
     <xs:element name="someInsideArrayProperty" type="xs:int"/> 
    </xs:sequence> 
</xs:complexType> 

<xs:element name="myArray"> 
<xs:complexType> 
    <xs:sequence> 
     <xs:element name="someArrayProperty" type="xs:string"/> 
     <xs:element name="yetAnotherArray" maxOccurs="unbounded" type="ns:myOtherArray"/> 
    </xs:sequence> 
</xs:complexType> 

<xs:element name="myResponse"> 
<xs:complexType> 
    <xs:sequence> 
     <xs:element name="myResponseArray" maxOccurs="unbounded"> 
      <xs:complexType> 
       <xs:sequence> 
        <xs:element name="someProperty" type="xs:int"/> 
        <xs:element name="someOtherProperty" type="xs:string"/> 
        ... 
        <xs:element name="anotherArray" type="ns:myArray" maxOccurs="unbounded"/> 
       </xs:sequence> 
      </xs:complexType> 
     </xs:element> 
    </xs:sequence> 
</xs:complexType>