URL WSDL لخدمة WCF (basicHttpBinding) استضافت داخل خدمة ويندوز

StackOverflow https://stackoverflow.com/questions/167852

سؤال

وأنا استضافة خدمة WCF في خدمة ويندوز على أحد الخوادم الخاصة بنا. بعد الوقوع في هذا العمل في basicHttpBinding وبناء عميل اختبار في. NET (التي عملت أخيرا) ذهبت على طول ومحاولة الوصول إليه من PHP باستخدام فئة SoapClient. فإن المستهلك النهائي سيكون موقع PHP لذلك أنا بحاجة لجعله الاستهلاكية في PHP.

وحصلت على الحيرة عندما أتيحت لي للدخول إلى رابط WSDL في منشئ فئة SoapClient في رمز PHP. أين هو اختصار؟ كل ما لدي هو:

http://172.27.7.123:8000/WordService و http://172.27.7.123:8000/WordService/mex

وأي من هذه لا تعرض WSDL.

ويجري مبتدئ في WCF أنا قد طلب شيئا البكم (وإلا فإنني سأضطر افتراض خطأ في مكان ما). يرجى أن يكون لطيف: D

ولا، http://172.27.7.123:8000/WordService؟wsdl لا تظهر شيئا مختلفا من http://172.27.7.123:8000/WordService : (

وانا اضطر لاستضافة الدورة في IIS؟ أنا اضطر لاستخدام خدمة ويب منتظم؟

هل كانت مفيدة؟

المحلول

وهذا قد يساعد على:

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

وباختصار تحتاج إلى تكوين النهاية خدمتكم والسلوك. هنا هو مثال الحد الأدنى:

<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>

ولا ننسى أن إزالة التعليقات XML كما انهم غير صالح حيث هم.

نصائح أخرى

يرجى الاطلاع على هذا الرابط:

<وأ href = "http://keithelder.net/blog/archive/2008/01/17/Exposing-a-WCF-Service-With-Multiple-Bindings-and-Endpoints.aspx" يختلط = "نوفولو noreferrer "> تعريض خدمة WCF مع الربط متعددة ونهايات

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.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top