Frage

Ich bin auf einem unseren Server einen WCF-Dienst in einem Windows-Dienst bereitgestellt wird. Nachdem es in Basichttpbinding arbeiten und den Aufbau ein Test-Client in .NET (was schließlich arbeitete) Ich ging entlang und versuche, es von PHP für den Zugriff auf die Soapclient-Klasse. Der Endverbraucher wird eine PHP-Website sein, so muss ich es in PHP machen konsumierbar.

Ich stapfte habe, wenn ich die WSDL-URL in den Konstruktor der Soapclient-Klasse im PHP-Code musste eingeben. Wo ist die WSDL? Alles, was ich habe, ist:

http://172.27.7.123:8000/WordService und http://172.27.7.123:8000/WordService/mex

Keine dieser Bestrahlung WSDL.

ein Neuling in WCF Seine Ich könnte eine dumme Sache gefragt (oder ich könnte eine falsche Annahme, irgendwo habe). Bitte sanft: D

Und nein, http://172.27.7.123:8000/WordService?wsdl nicht zeigen etwas anderes als http://172.27.7.123:8000/WordService : (

Bin ich es in IIS Host gezwungen? Bin ich gezwungen, eine regelmäßige WebService zu benutzen?

War es hilfreich?

Lösung

Dies könnte helfen:

http://msdn.microsoft.com/en-us/library /ms734765.aspx

Auf den Punkt gebracht Sie benötigen, um Ihre Service-Endpunkte und Verhalten zu konfigurieren. Hier ist ein minimales Beispiel:

<system.serviceModel>
  <services>

    <service 
      <!-- Namespace.ServiceClass implementation -->
      name="WcfService1.Service1" 

      <!-- User behaviour defined below -->
      behaviorConfiguration="SimpleServiceBehaviour"> 

      <endpoint 
        address="" 
        binding="basicHttpBinding"
        <!-- Namespace.Interface that defines our service contract -->
        contract="WcfService1.IService1"/>

    </service>
  </services>
  <behaviors>
    <serviceBehaviors>
      <behavior name="SimpleServiceBehaviour">

        <serviceMetadata 
          <!-- We allow HTTP GET -->
          httpGetEnabled="true" 

          <!-- Conform to WS-Policy 1.5 when generating metadata -->
          policyVersion="Policy15"/>

      </behavior>
    </serviceBehaviors>
  </behaviors>
</system.serviceModel>

Vergessen Sie nicht, um die XML-Kommentare zu entfernen, wie sie sind ungültig, wo sie sind.

Andere Tipps

Bitte lesen Sie diesen Link:

Offenlegen von einem WCF-Dienst mit mehreren Bindungen und Endpunkten

Unlike previous ASMX services, the WSDL (web service definition language) for WCF 
services is not automatically generated.  The previous image even tells us that 
"Metadata publishing for this service is currently disabled.".  
This is because we haven't configured our service to expose any meta data about it. 
 To expose a WSDL for a service we need to configure our service to provide meta information.  Note:  
The mexHttpBinding is also used to share meta information about a service.  While 
the name isn't very "gump" it stands for Meta Data Exchange.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top