[英]soapui wsdl empty request
我試圖生成一個wsdl,但是將其導入soap UI時,請求模板為空-沒有警告或其他任何指示問題的信息。
這是結果
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body/>
</soapenv:Envelope>
我制作的wsdl看起來像這樣(為清楚起見刪除了一些)
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://localhost/powershell/" targetNamespace="http://localhost/powershell/" name="powershell">
<wsdl:types>
<xs:schema targetNamespace="http://localhost/powershell/" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="GetProcessRequest">
<xs:complexType name="GetProcessRequestType">
<xs:sequence>
<xs:element name="field1" minOccurs="0" type="xs:string" nillable="false" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetProcessResponse">
<xs:complexType name="GetProcessResponseType">
<xs:sequence>
<xs:element name="o1" minOccurs="0" type="xs:string" nillable="false" />
<xs:element name="o2" minOccurs="0" type="xs:string" nillable="false" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ListGetProcessResponse">
<xs:complexType name="ListGetProcessResponseType">
<xs:complexContent mixed="false">
<xs:restriction base="soapenc:Array">
<xs:attribute ref="soapenc:arrayType" wsdl:arrayType="GetProcessResponseType[]" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="GetItemsRequest">
<xs:complexType name="GetItemsRequestType">
<xs:sequence>
<xs:element name="field1" minOccurs="0" type="xs:string" nillable="false" />
<xs:element name="field2" minOccurs="0" type="xs:string" nillable="false" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetItemsResponse">
<xs:complexType name="GetItemsResponseType">
<xs:sequence>
<xs:element name="o1" minOccurs="0" type="xs:string" nillable="false" />
<xs:element name="o2" minOccurs="0" type="xs:string" nillable="false" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ListGetItemsResponse">
<xs:complexType name="ListGetItemsResponseType">
<xs:complexContent mixed="false">
<xs:restriction base="soapenc:Array">
<xs:attribute ref="soapenc:arrayType" wsdl:arrayType="GetItemsResponseType[]" />
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:schema>
</wsdl:types>
<wsdl:portType name="powershell">
<wsdl:operation name="GetProcess">
<wsdl:input message="tns:GetProcessRequestMessage" />
<wsdl:output message="tns:GetProcessResponseMessage" />
</wsdl:operation>
<wsdl:operation name="GetItems">
<wsdl:input message="tns:GetItemsRequestMessage" />
<wsdl:output message="tns:GetItemsResponseMessage" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="powershellBinding" type="tns:powershell">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="GetProcess">
<soap:operation soapAction="http://localhost/powershell.svc/GetProcess" style="document">
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</soap:operation>
</wsdl:operation>
<wsdl:operation name="GetItems">
<soap:operation soapAction="http://localhost/powershell.svc/GetItems" style="document">
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</soap:operation>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="powershell">
<wsdl:port binding="tns:powershellBinding" name="powershellBinding">
<soap:address location="http://localhost/powershell.svc" />
</wsdl:port>
</wsdl:service>
<wsdl:message name="GetProcessRequestMessage">
<wsdl:part name="parameters" element="tns:GetProcessRequest" />
</wsdl:message>
<wsdl:message name="GetProcessResponseMessage">
<wsdl:part name="parameters" element="tns:ListGetProcessResponse" />
</wsdl:message>
<wsdl:message name="GetItemsRequestMessage">
<wsdl:part name="parameters" element="tns:GetItemsRequest" />
</wsdl:message>
<wsdl:message name="GetItemsResponseMessage">
<wsdl:part name="parameters" element="tns:GetItemsResponse" />
</wsdl:message>
</wsdl:definitions>
據我所知,一切都應該正確鏈接,但顯然我在某處缺少某些東西,我只是找不到它。
您的WSDL無效。 soap:operation
元素的定義不允許任何內容。 您需要立即關閉soap:operation
元素,而沒有任何子元素:
<soap:operation soapAction="http://localhost/powershell.svc/GetItems" style="document" />
您需要進行以下更改:
<wsdl:operation name="GetItems">
<soap:operation soapAction="http://localhost/powershell.svc/GetItems" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
其他操作類似。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.