VB6该怎么连接1.4版本WSDL文件的Webservice

时间:2021-09-17 16:34:12
服务器端是Java的1.4版本wsdl。人家的,没有Types定义,我不能改。
客户端是VB6程序,换成别的就不方便了。
现在用 SoapClient30,初始化就通不过。

Dim MySoap As New SoapClient30
lsURL = "http://10.75.93.23:7001/hoffice/services/dse?wsdl"
MySoap.ClientProperty("ServerHTTPRequest") = True
MySoap.MSSoapInit lsURL
'MySoap.MSSoapInit2 lsURL, "", "", "", ""

错误:SoapMapper:The schema definition with a targetnamespace of http://schemas.xmlsoap.org/soap/encoding/ for SoapMapper string could not be found HRESULT=0x80004005: 未指定的错误....

浏览器输入URL,可以打开dse.wsdl文件:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://com.bdcc.hoffice.webservice.DsWebService" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://com.bdcc.hoffice.webservice.DsWebService" xmlns:intf="http://com.bdcc.hoffice.webservice.DsWebService" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.4......

请问错在哪里?有没有什么办法解决?

2 个解决方案

#1


Set Connector = New HttpConnector30
Connector.Property("EndPointURL") = lsURL
Connector.Connect
Connector.Property("SoapAction") = lsNameSpace + "/healthManage"

今天改底层API看看,不知道上面SoapAction对不对,healthManage是WSDL函数。

#2


已解决,可以连接了。

#1


Set Connector = New HttpConnector30
Connector.Property("EndPointURL") = lsURL
Connector.Connect
Connector.Property("SoapAction") = lsNameSpace + "/healthManage"

今天改底层API看看,不知道上面SoapAction对不对,healthManage是WSDL函数。

#2


已解决,可以连接了。