Có một dịch vụ WCF với cấu hình:gọi bằng VBScript
<services>
<service name="MyService" behaviorConfiguration="MyServiceBehavior">
<endpoint
binding="basicHttpBinding"
contract="IMyService" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8001/MyService" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MyServiceBehavior">
<serviceMetadata httpGetEnabled="True" />
</behavior>
</serviceBehaviors>
</behaviors>
Kịch bản này được cho là để gọi nó:
Option Explicit
Dim soapClient
Dim serviceUri
Dim serviceName
Dim portName
Dim result
serviceUri = "http://localhost:8001/MyService"
serviceName = "MyService"
portName = "BasicHttpBinding_IMyService"
Set soapClient = CreateObject("MSSOAP.soapClient")
soapClient.ClientProperty("ServerHTTPRequest") = True
soapClient.mssoapinit serviceUri & "?WSDL", serviceName, portName
Khi chạy script lỗi này xuất hiện:
Khách hàng: WSDLReader: Phân tích tệp WSDL không thành công HRESULT = 0x8 0004005 - WSDLReader: Khởi tạo dịch vụ không thành công HRESULT = 0x80004005 - Dịch vụ WSDL: Khởi tạo p ort cho dịch vụ MyService không thành công HRESULT = 0x80004005 - WSDLPort: Phân tích thông tin ràng buộc cho cổng BasicHttpBinding_IMyService không thành công HRESULT = 0x80004005 - WSDLPort: Một thao tác cho cổng BasicHttpBinding_IMyService không thể khởi tạo HRESULT = 0x8000 4005 - WSDLOperation: Hoạt động // def: portType [@ name = "IMyService"]/ def: hoạt động [@ name = "MyMethod"] không được tìm thấy trong phần kiểu cổng HRESULT = 0x80004005
Điều gì đang xảy ra? Hãy giúp tôi.
Chỉnh sửa:
Cảm ơn bạn, Cheeso, cho câu trả lời. Vấn đề với MSSOAP dường như là nó yêu cầu tất cả các lược đồ xsd được bao gồm nội tuyến trong tệp WSDL được tạo ra. WCF không thực hiện theo mặc định.
Nếu bạn muốn các XSD trong WSDL, bạn có thể sửa đổi dịch vụ WCF thành "làm phẳng" nó. http://www.bing.com/search?q=Wcf+flatten+wsdl Nếu bạn không có quyền kiểm soát kết thúc WCF, bạn vẫn có thể xây dựng một WSDL đó là nguyên khối và nên hoạt động. Nhưng có những vấn đề khác, nghiêm trọng hơn với MSSOAP. – Cheeso