วิธีรับไฟล์ wsdl จาก URL ของเว็บบริการ


92

ฉันต้องการรับไฟล์ WSDL สำหรับบริการเว็บและสิ่งเดียวที่ฉันมีคือ URL ของมัน (เช่น webservice.example / foo)

หากฉันใช้ URL โดยตรงจะมีการส่งการตอบสนองข้อผิดพลาดเท่านั้น

คำตอบ:


132

โดยการแก้ไข URL ภายหลังด้วย ?WSDL

หาก URL เป็นตัวอย่าง:

http://webservice.example:1234/foo

คุณใช้:

http://webservice.example:1234/foo?WSDL

และ wsdl จะถูกส่ง


2
ตัวพิมพ์ใหญ่บางครั้งเช่นกัน (WSDL)
Dan

และหากคุณไม่ได้รับ wsdl คุณอาจได้รับ xml ที่มีคีย์การผูกหรือรหัสตรวจสอบความถูกต้องบางประเภทที่จะช่วยให้คุณเขียน url จริงของ wsdl
ช่างซ่อมนาฬิกา

มีความคิดอย่างไรในการรับไฟล์ xsd ที่นำเข้า
vikingsteve

วิธีนี้ใช้ไม่ได้ นี่คือ url บริการเว็บของฉัน: prealert-test.customer-pages.com

1
WSDL thingy เป็นแบบแผนตามด้วยกรอบและอื่น ๆ หากไม่ได้ผลสำหรับคุณฉันเดาว่าคุณน่าจะพบสิ่งที่เฉพาะเจาะจงสำหรับกรอบงานที่คุณใช้
Alfergon

26

เพื่อรับWSDL( Web Service Description Language) จาก URL บริการเว็บ

เป็นไปได้จาก SOAP Web Services:

http://www.w3schools.com/xml/tempconvert.asmx

เพื่อรับ WSDL เรามีเพียงเพิ่ม?WSDLตัวอย่างเช่น:

http://www.w3schools.com/xml/tempconvert.asmx? WSDL


1
คุณจะดึงข้อมูลบางส่วนโดยใช้ url ได้อย่างไร?
Jesse

2
หากคุณต้องการดึงข้อมูลจาก SOAP คุณควรใช้เครื่องมือนี้soapui.orgฟรีและใช้งานได้ดี
เมเจอร์

13

เป็นไปได้เพียงอย่างเดียวที่จะได้รับ WSDL หากมีการกำหนดค่าบริการเว็บให้ส่งมอบ ดังนั้นคุณต้องระบุ serviceBehavior และเปิดใช้งาน httpGetEnabled:

<serviceBehaviors>
    <behavior name="BindingBehavior">
        <serviceMetadata httpGetEnabled="true" />
        <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
</serviceBehaviors>

ในกรณีที่สามารถเข้าถึงบริการเว็บได้ผ่าน https เท่านั้นคุณต้องเปิดใช้ http s GetEnabled แทน httpGetEnabled


5

ในการดาวน์โหลด wsdl จาก url โดยใช้Developer Command Prompt สำหรับ Visual Studioให้เรียกใช้ในโหมดผู้ดูแลระบบและป้อนคำสั่งต่อไปนี้:

 svcutil /t:metadata http://[your-service-url-here]

ตอนนี้คุณสามารถใช้ wsdl ที่ดาวน์โหลดมาในโปรเจ็กต์ของคุณได้ตามที่เห็นสมควร

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.