von SOAPpy zu AXIS2

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
ullat
User
Beiträge: 3
Registriert: Mittwoch 18. Juli 2007, 14:14

Mittwoch 18. Juli 2007, 15:00

Liebes Forum,

wir möchten von python (SOAPpy) aus folgende Webservices-Funktion ansprechen

Code: Alles auswählen

public String transferMyObject(MyTestObject myTest) {
...
}

public class MyTestObject {

   private String name;
   private String[] friends;

   public MyTestObject() {
      this.name = null;
      this.friends = new String[3];
   }
}

Verarbeiten kann dieser Code folgende SOAP-Nachricht:

Code: Alles auswählen

  <SOAP-ENV:Body>
    <transferMyObject xmlns="http://tests.webService/xsd">
      <myTest>
        <friends>Friend1</friends>
        <friends>Feind2</friends>
        <friends>Unbekannter3</friends>
        <name>NameVonMyTest</name>
      </myTest>
    </transferMyObject>
  </SOAP-ENV:Body>

Die aktuelle Python-Anfrage dazu wird nicht verstanden:

Code: Alles auswählen

class MyTestObject:
    def __init__(self, name, friends):
        self.name = name
        self.friends = friends

myTest = MyTestObject("jonas", ["alexander", "sammy", "paul"])  
ar = server.transferMyObject(myTest)
Sie erzeugt folgene SOAP-Nachricht:

Code: Alles auswählen

<SOAP-ENV:Body>
<ns1:transferMyObject xmlns:ns1="http://tests.webService/xsd" SOAP-ENC:root="1">
<v1>
<friends SOAP-ENC:arrayType="xsd:string[3]" xsi:type="SOAP-ENC:Array">
<item>alexander</item>
<item>sammy</item>
<item>paul</item>
</friends>
<name xsi:type="xsd:string">jonas</name>
</v1>
</ns1:transferMyObject>
</SOAP-ENV:Body>
Es wäre klasse, wenn uns jemand helfen könnte die Anfrage - oder auch die Serverseite so zu verändern, dass sich die beiden verstehen. Uns selbst sind im Moment die Ideen dazu ausgegangen.

Vielen Dank im voraus,
Ulla.
Antworten