如果仍有问题,请也发布 WSDL。
1)Web服务调用失败,因为找不到调用的方法getVServers
带有命名空间{}
(空命名空间)。
您的请求类似于:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<getVServers>
<loginName>my login name</loginName>
<password>my password</password>
</getVServers>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
getVServers 位于默认命名空间上。应该是这样的,命名空间应该在哪里targetNamespace
根据您的 WSDL 定义:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<ns:getVServers xmlns:ns="http://your-namespace-from-wsdl.com">
<loginName>my login name</loginName>
<password>my password</password>
</ns:getVServers>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
为了添加命名空间,请更改创建 bodyName 的方式:
QName bodyName = new QName("http://your-namespace-from-wsdl.com", "getVServers", "ns");
Also loginName
and password
可能需要加上前缀,如果elementFormDefault="qualified"
在您的 XML 架构上设置或者如果form="qualified"
存在于你的元素上。
2) 我认为您的 URL 端点不应包含 ?wsdl。
3) 您正在尝试连接到 HTTPS Web 服务。确保相应地设置证书和默认 SSLFactory。