# Webservice unter PHP erstellen



## saschagoetz (10. Januar 2008)

Hallo an alle,
ich bin im Thema PHP und Webservice sehr neu. Nun muss ich in einem Praktikum einen Webservice schreiben und diesen von einer PHP Seite aus aufrufen. Als erstes wollte ich einen bereits besetehenden Webservice aufrufen. Das Problem hier ist nur, dass dieser Webservice unter C# programmiert ist.
Nun will ich diesen Webservice in PHP schreiben.  
Kann mir jemand helfen oder ein Tutorial empfehlen, wie ich mit PHP einen Webservice schreiben kann, der auf eine *MSSQL DB *zugreift dort Sachen ausließt, und diese in eine *XML Datei *schreibt. Ein Apache wird nicht eingesetzt. Es handelt sich um den* IIS*.
Vielen Dank schon mal für die Hilfe.
Viele Grüße
Sascha


----------



## olqs (10. Januar 2008)

Ich verlinke mal zu nem Tutorial von hier in dem es im PHP und Soap geht.
http://www.tutorials.de/forum/php-tutorials/166733-php5-einstieg-soap.html

So solltest du auch auf den bestehenden Webservice zugreifen können. 

Ein Beispiel zu nem Server ist da auch dabei.


----------



## saschagoetz (10. Januar 2008)

Vielen Dank für den Link.
Habe jetzt auch das Beispiel durchgearbeitet. Leider geht das beispiel von Babelfish selbst nicht, aber das letzte selbst erstellte sollte ja gehen.
Nur bei mir leider nicht. bekomme folgende Meldung.

Ungültig auf der obersten Ebene im Dokument. Fehler beim Bearbeiten der Ressource 'http://localhost/JobRouter/Testwebservic...

PHP Fatal error:  Uncaught SoapFault exception: [HTTP] Unauthorized Request in C:\Inetpub\wwwroot\JobRouter\Testwebservice

Was ist da nur falsch?


----------



## olqs (10. Januar 2008)

Eigentlich stehts eh in der Fehlermeldung.

Unauthorized Request. Scheinbar darfst du da nicht zugreifen. Ich hab das Tutorial auch nicht selbst durchgearbeitet, aber ich hols mal schnell nach...

Wenn du nen Testwebservice für IIS und C# brauchst hab ich dir den Quelltext dazu gepostet.
Einfach den Quelltext als .asmx Datei am IIS ablegen, kompilieren musst du den dafür nicht:

```
<%@ WebService Language="C#" Class="MathService" %>
Imports System
Imports System.Web.Services

Public Class MathService : Inherits WebService

   <WebMethod()> Public Function Add(a As Integer, b As Integer) As Integer
       Return(a + b)
   End Function

End Class
```

Auf das wsdl kannst dann mit http://server/pfad/dateiname.asmx?WSDL zugreifen.


----------

