【发布时间】:2018-03-30 20:09:28
【问题描述】:
使用以下 URL(在我自己的网络中的服务器上)启动 SOAPUI SOAP 项目(从我的本地计算机)时: http://myinternaldomainname/test2?wsdl
出现以下错误:
加载错误 [http://myinternaldomainname/test2?wsdl]: org.apache.xmlbeans.XmlException:org.apache.xmlbeans.XmlException: 错误:不关闭标签
服务器已添加到我的主机文件中:
192.168.2.1 myexampledomain
当我将 WSDL 页面的结果存储为 wsdl 文件时,我可以将 WSDL 文件作为新的 SOAP 项目打开。
我使用 Zend\Soap\Autodiscovery 来生成这个 WSDL:
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://myexampledomain/test2" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" name="MySoapService" targetNamespace="http://myexampledomain/test2">
<types>
<xsd:schema targetNamespace="http://myexampledomain/test2"/>
</types>
<portType name="MySoapServicePort">
<operation name="method1">
<documentation>This method takes ...</documentation>
<input message="tns:method1In"/>
<output message="tns:method1Out"/>
</operation>
<operation name="method2">
<documentation>This method takes ...</documentation>
<input message="tns:method2In"/>
<output message="tns:method2Out"/>
</operation>
</portType>
<binding name="MySoapServiceBinding" type="tns:MySoapServicePort">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="method1">
<soap:operation soapAction="http://myexampledomain/test2#method1"/>
<input>
<soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://myexampledomain/test2"/>
</input>
<output>
<soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://myexampledomain/test2"/>
</output>
</operation>
<operation name="method2">
<soap:operation soapAction="http://myexampledomain/test2#method2"/>
<input>
<soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://myexampledomain/test2"/>
</input>
<output>
<soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://myexampledomain/test2"/>
</output>
</operation>
</binding>
<service name="MySoapServiceService">
<port name="MySoapServicePort" binding="tns:MySoapServiceBinding">
<soap:address location="http://myexampledomain/test2"/>
</port>
</service>
<message name="method1In">
<part name="inputParam" type="xsd:int"/>
</message>
<message name="method1Out">
<part name="return" type="xsd:string"/>
</message>
<message name="method2In">
<part name="inputParam1" type="xsd:int"/>
<part name="inputParam2" type="xsd:string"/>
</message>
<message name="method2Out">
<part name="return" type="xsd:float"/>
</message>
</definitions>
在 SOAPUI 中,我尝试禁用/启用/自动代理
【问题讨论】:
-
我之前在 SOPHOS 安全性方面遇到了巨大的问题,它弄乱了我 WSDL 中的小细节。我的看法是在项目的文件夹中使用 WSDL 文件。这些安全设备有时非常难以排除故障。
-
在浏览器中打开wsdl文件会发生什么?
-
它将 XML 显示为 XML。在页面顶部显示: 此 XML 文件似乎没有任何与之关联的样式信息。文档树如下所示。
标签: web-services soap wsdl soapui soapserver