Glengamoi · AspHeute (Artikel) · .NET Heute (RSS-Suche) · .NET Blogs · Glengamoi Suche (Installieren via Klick)

Glengamoi

Die Diskussionsforen der deutschen .NET Community
Willkommen bei Glengamoi. Anmeldung | Registrieren | Hilfe
in Suchen

PHP Webservice mit NET konsumieren?

Letzter Beitrag 10-18-2007 13:04 von TobiasKoch. 0 Antworten.
Seite 1 von 1 (1 Treffer)
Beiträge sortieren: Zurück Weiter
  • 10-18-2007 13:04

    PHP Webservice mit NET konsumieren?

    Hallo zusammen,

     ich versuche gerade einen PHP Webservice mit NET zu konsumieren. Habe den Webservice einfach bei Web-References geaddet und einige Methoden funktionieren einwandfrei. Aber bei anderen stoße ich auf Probleme.

    Die Webmethode:

    public string getXMLTree(string sid, int ref_id, string[ types, int user_id)

    Die dazugehörige WSDL:

    <wsdl:operation name="getXMLTree">
    <
    soap:operation soapAction="urn:ilUserAdministration#getXMLTree" style="rpc" />
    <
    wsdl:input>
    <
    soap:body use="encoded" namespace="urn:ilUserAdministration" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    </
    wsdl:input>
    <
    wsdl:output>
    <
    soap:body use="encoded" namespace="urn:ilUserAdministration" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    </
    wsdl:output>
    </
    wsdl:operation>

    <wsdl:message name="getXMLTreeRequest">
    <
    wsdl:part name="sid" type="xsd:string" />
    <
    wsdl:part name="ref_id" type="xsd:int" />
    <
    wsdl:part name="types" type="tns:stringArray" />
    <
    wsdl:part name="user_id" type="xsd:int" />
    </
    wsdl:message>
    <
    wsdl:message name="getXMLTreeResponse">
    <
    wsdl:part name="object_xml" type="xsd:string" />
    </
    wsdl:message>
    <xsd:complexType name="stringArray">
    <
    xsd:complexContent mixed="false">
    <
    xsd:restriction base="SOAP-ENC:Array">
    <
    xsd:attribute wsdl:arrayType="xsd:string[" ref="SOAP-ENC:arrayType" />
    </
    xsd:restriction>
    </
    xsd:complexContent>
    </
    xsd:complexType>

     Erstes Problem: Der String-Array ist in der WSDL SOAP encoded. Der PHP Service gibt eine Fehlermeldung zurück, wenn ich einen .NET String-Array beim Methodenaufruf als Parameter nutze.

    string[  typearr ={ "cat", "ak" };
    string respXML = myWebservice.getXMLTree(sessionid, 1, typearr, userrefid);

     Zweites Problem: Der Service gibt eine Fehlermeldung zurück:

    Der vom Client gefundene Anforderungsinhaltstyp ist 'text/html; charset=ISO-8859-1', erwartet wurde 'text/xml'.

     Wie kann ich den Anforderungsinhaltstyp ändern?

    Falls da mehr Probleme auftauchen, PHP Webservices so zu konsumieren, sollte ich dann einen SOAP Envelope direkt über ein WebRequest schicken?

     Gruß & Danke,

    Tobias

     

     

     

    • IP-Adresse ist Registriert
Seite 1 von 1 (1 Treffer)