php एक WCF सेवा(मूल HttpBinding) के लिए डब्लूएसडीएल यूआरएल जो विंडोज सर्विस के अंदर होस्ट किया गया है




url wsdl (2)

मैं हमारे सर्वर में से एक पर एक विंडोज सर्विस में डब्लूसीएफ सेवा की मेजबानी कर रहा हूं। इसे बुनियादी में काम करने के बाद एचटीपीबीडीआईडी ​​और एनटीएटी (जो आखिरकार काम किया गया) में एक परीक्षण ग्राहक का निर्माण कर रहा था, मैं सोप क्लायंट क्लास का उपयोग करके PHP से इसका उपयोग करने की कोशिश कर रहा था। अंतिम उपभोक्ता एक PHP साइट होगी, इसलिए मुझे इसे PHP में उपभोग्य बनाने की आवश्यकता है

जब मुझे PHP कोड में सोप क्लाइंट क्लास के कन्स्ट्रक्टर में डब्लूएसडीएल यूआरएल दर्ज करना पड़ा तब मुझे स्टम्प्ड मिला। डब्ल्यूएसडीएल कहां है? मेरे पास सब कुछ है:

http://172.27.7.123:8000/WordService और http://172.27.7.123:8000/WordService/mex

इनमें से कोई भी डब्लूएसडीएल को बेनकाब नहीं करता है।

डब्ल्यूसीएफ में एक नौसिखिया होने के नाते मैं एक मूक बात कह सकता था (या मुझे कहीं गलत धारणा हो सकती है) कृपया कोमल हो: डी

और नहीं, http://172.27.7.123:8000/WordService?wsdl http://172.27.7.123:8000/WordService से अलग कुछ नहीं दिखाता है :(

क्या मैं इसे आईआईएस में होस्ट करने के लिए मजबूर हूं? क्या मुझे एक नियमित वेबसाइव का उपयोग करने के लिए मजबूर किया जाता है?


यह मदद कर सकता है:

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 टिप्पणियों को हटाने के लिए मत भूलें क्योंकि वे अमान्य हैं जहां वे हैं।


कृपया इस लिंक को देखें:

एकाधिक बाइंडिंग और समापन बिंदुओं के साथ एक 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.




basichttpbinding